| requirejs.config({ |
| baseUrl: '../js/src' |
| }); |
| |
| require(['menu','menu/item', 'menu/prefix', 'menu/lengthField', 'selectMenu', 'hint/item', 'hint/lengthField'], function (menuClass, itemClass, prefixClass, lengthFieldClass, selectMenuClass, hintItemClass, hintLengthField) { |
| |
| /** |
| * Create own menu item class. |
| */ |
| var OwnMenuItemClass = { |
| create : function (params) { |
| return Object.create(itemClass).upgradeTo(this)._init(params); |
| }, |
| |
| // content function |
| content : function (content) { |
| if (arguments.length === 1) { |
| this._content = content; |
| }; |
| return this._content; |
| }, |
| |
| // enter or click |
| onclick : function () { |
| console.log(this._name); |
| }, |
| |
| // right arrow |
| further : function () { |
| console.log("Further: " + this._name); |
| }, |
| |
| // initialize item |
| _init : function (params) { |
| if (params[0] === undefined) |
| throw new Error("Missing parameters"); |
| |
| this._name = params[0]; |
| this._content = document.createTextNode(this._name); |
| this._lcField = ' ' + this.content().textContent.toLowerCase(); |
| return this; |
| } |
| }; |
| |
| /** |
| * Create own prefix class. |
| */ |
| var OwnPrefixClass = { |
| create : function () { |
| return Object.create(prefixClass) |
| .upgradeTo(this) |
| ._init(); |
| }, |
| onclick : function () { |
| console.log('Prefix: ' + this.value()); |
| } |
| }; |
| |
| /** |
| * Create own menu class. |
| */ |
| var OwnMenu = { |
| create : function (list) { |
| var obj = Object.create(menuClass) |
| .upgradeTo(this) |
| ._init(list, { |
| itemClass : OwnMenuItemClass, |
| prefixClass : OwnPrefixClass, |
| lengthFieldClass : lengthFieldClass |
| }); |
| obj._firstActive = true; |
| return obj; |
| } |
| }; |
| |
| var menu = OwnMenu.create([ |
| ['Titel', 'title', 'string'], |
| ['Untertitel', 'subTitle', 'string'], |
| ['Beschreibung', 'desc', 'string'], |
| ['Veröffentlichungsdatum', 'pubDate', 'date'], |
| ['Länge', 'length', 'integer'], |
| ['Autor', 'author', 'string'], |
| ['Genre', 'genre', 'string'], |
| ['corpusID', 'corpusID', 'string'], |
| ['docID', 'docID', 'string'], |
| ['textID', 'textID', 'string'] |
| ]); |
| |
| var largeMenu = menuClass.create([ |
| // http://www.ids-mannheim.de/cosmas2/projekt/referenz/stts/morph.html |
| // http://nachhalt.sfb632.uni-potsdam.de/owl-docu/stts.html |
| // "$.", "$(", "$," |
| ["ADJA","ADJA ", "Attributive Adjective"], |
| ["ADJD","ADJD ", "Predicative Adjective"], |
| ["ADV","ADV ", "Adverb"], |
| ["APPO","APPO ", "Postposition"], |
| ["APPR","APPR ", "Preposition"], |
| ["APPRART","APPRART ", "Preposition with Determiner"], |
| ["APZR","APZR ","Right Circumposition"], |
| ["ART","ART ", "Determiner"], |
| ["CARD","CARD ", "Cardinal Number"], |
| ["FM","FM ", "Foreign Material"], |
| ["ITJ","ITJ ", "Interjection"], |
| ["KOKOM","KOKOM ", "Comparison Particle"], |
| ["KON","KON ", "Coordinating Conjuncion"], |
| ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"], |
| ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"], |
| ["NE","NE ", "Named Entity"], |
| ["NN","NN ", "Normal Nomina"], |
| ["PAV", "PAV ", "Pronominal Adverb"], |
| ["PDAT","PDAT ","Attributive Demonstrative Pronoun"], |
| ["PDS","PDS ", "Substitutive Demonstrative Pronoun"], |
| ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"], |
| ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"], |
| ["PIS","PIS ", "Substitutive Indefinite Pronoun"], |
| ["PPER","PPER ", "Personal Pronoun"], |
| ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"], |
| ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"], |
| ["PRELAT","PRELAT ", "Attributive Relative Pronoun"], |
| ["PRELS","PRELS ", "Substitutive Relative Pronoun"], |
| ["PRF","PRF ", "Reflexive Pronoun"], |
| ["PROAV","PROAV ", "Pronominal Adverb"], |
| ["PTKA","PTKA ","Particle with Adjective"], |
| ["PTKANT","PTKANT ", "Answering Particle"], |
| ["PTKNEG","PTKNEG ", "Negation Particle"], |
| ["PTKVZ","PTKVZ ", "Separated Verbal Particle"], |
| ["PTKZU","PTKZU ", "'zu' Particle"], |
| ["PWAT","PWAT ", "Attributive Interrogative Pronoun"], |
| ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"], |
| ["PWS","PWS ", "Substitutive Interrogative Pronoun"], |
| ["TRUNC","TRUNC ","Truncated"], |
| ["VAFIN","VAFIN ", "Auxiliary Finite Verb"], |
| ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"], |
| ["VAINF","VAINF ", "Auxiliary Infinite Verb"], |
| ["VAPP","VAPP ", "Auxiliary Perfect Participle"], |
| ["VMFIN","VMFIN ", "Modal Finite Verb"], |
| ["VMINF","VMINF ", "Modal Infinite Verb"], |
| ["VMPP","VMPP ", "Modal Perfect Participle"], |
| ["VVFIN","VVFIN ","Finite Verb"], |
| ["VVIMP","VVIMP ", "Finite Imperative Verb"], |
| ["VVINF","VVINF ", "Infinite Verb"], |
| ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"], |
| ["VVPP","VVPP ", "Perfect Participle"], |
| ["XY", "XY ", "Non-Word"] |
| ], { 'itemClass' : hintItemClass, 'lengthField' : hintLengthField }); |
| |
| document.getElementById('menu').appendChild(menu.element()); |
| document.getElementById('largemenu').appendChild(largeMenu.element()); |
| |
| menu.limit(3).show(3); |
| menu.focus(); |
| |
| selectMenuClass.create(document.getElementById('choose-ql')).limit(5); // .show(); |
| largeMenu.limit(8).show(3); |
| }); |