मैं किसी समस्या पर दूसरों से इनपुट सुनने के लिए बहुत उत्सुक हूं, जिसे मैं कुछ समय के लिए सोच रहा हूं।जावास्क्रिप्ट, टेक्स्ट एनोटेशन और विचार
अनिवार्य रूप से मैं एक उपयोगकर्ता को एक टेक्स्ट दस्तावेज़ के साथ प्रस्तुत करना चाहता हूं और उसे टेक्स्ट का चयन करने और उसे एनोटेट करने की अनुमति देता हूं। एनोटेशन के लिए विशिष्ट मैं निम्नलिखित प्राप्त करना:
- फिर बाद में
- (यूआई) समर्थन ओवरलैप एनोटेशन का प्रतिनिधित्व करने में संदर्भ के लिए चयन और एनोटेशन बचाने के उपयोगकर्ताओं के लिए एक पाठ चयन करने के लिए, उस पर टिप्पणी की अनुमति दें। उदाहरण के लिए यदि स्ट्रिंग कहां है: "यह मेरे उदाहरण परीक्षण वाक्य के लिए परीक्षण वाक्य है", उपयोगकर्ता 1 पर "मेरे उदाहरण के लिए परीक्षण वाक्य" पर एक टिप्पणी हो सकती है और उपयोगकर्ता 2 "मेरे उदाहरण के लिए" पर एक टिप्पणी हो सकती है।
- ऐसी स्थितियों के लिए खाता जहां दस्तावेज़ का टेक्स्ट बदलता है। यदि संभव हो तो एनोटेशन अपडेट किया जाएगा।
आप इसे तकनीकी परिप्रेक्ष्य से कैसे निपटेंगे?
कुछ विचार मैं लिया है कर रहे हैं:
- उपयोग जावास्क्रिप्ट पर्वतमाला और की तरह कुछ पूर्णांकों की एक जोड़ी के रूप में एक एनोटेशन की दुकान: (document_start_char, document_end_char)। इस जोड़ी को डीबी में सहेजें।
- वैकल्पिक रूप से, जेएस का उपयोग करके पाठ को चुना जाता है और वास्तव में डीबी में पूरा पाठ सहेजता है। (सुनिश्चित नहीं है कि मैं फिर एनोटेशन ओवरलैपिंग कैसे करूं)
- टेक्स्ट को हाइलाइट करने के लिए एक सीएसएस शैली को लागू करके ओवरलैप्ड एनोटेशन का प्रतिनिधित्व करें, फिर एनोटेशन के "स्टैक" को अंधेरा करें जहां वे ओवरलैप करते हैं। सबसे छोटी टिप्पणी हमेशा "ढेर" के शीर्ष पर होना चाहिए।
आपके विचार या सुधार के क्षेत्र क्या हैं? हेक कैसे मैं सभी एनोटेशन को तोड़ने के बिना किसी दस्तावेज़ के पाठ को अपडेट किया जा सकता है?
मेरे पास बिल्कुल वही आवश्यकता है। Pls हमें आपकी प्रगति पर अद्यतन रखें एसपी – swami
इस समय मैं क्या कर रहा हूं एक अद्वितीय आईडी के साथ एक ही अवधि में हर एक चरित्र के आसपास है। मैं चयन को पकड़ने के लिए रंगी (http://code.google.com/p/rangy/) का उपयोग करता हूं, फिर आईडी निकालें ताकि मुझे पता चले कि कौन से वर्ण चुने गए हैं। ऐसा करने से मुझे कुछ आजादी मिलती है क्योंकि मेरे पास चयनों को लापरवाही करने की ज़रूरत है और दृश्यों के पीछे कुछ फैंसी चीजें कर सकते हैं जैसे कि एनोटेशन के सूट में कितनी बार एक अक्षर की व्याख्या की गई है और तदनुसार इसके पृष्ठभूमि रंग को समायोजित करें (चयन ओवरलैपिंग का प्रतिनिधित्व करने के लिए)। –
ओह मैं एक चीज़ भूल गया ... मुझे अभी तक यह पता लगाना है कि दस्तावेज स्वयं संपादित होने पर सभी एनोटेशन को अपडेट करने के तरीके को कैसे संभालना है, लेकिन मुझे लगता है कि इसके बारे में जाने का एक अच्छा तरीका दस्तावेज़ को अद्वितीय में विभाजित करना है पैराग्राफ, या वाक्य या ऐसा कुछ। क्षति को अलग करना उस मामले में लक्ष्य होगा लेकिन यह सही नहीं होगा। –