blob: 699186589ccbdfe880650f10ccecef8870f245f5 [file] [log] [blame]
requirejs.config({
baseUrl: '../js/src',
paths : {
'lib': '../lib'
}
});
var hint = undefined;
require(['plugin/server','panel/query', 'hint','hint/foundries/cnx','lib/domReady','api'], function (pluginClass, queryPanelClass, hintClass, hintArray, domReady) {
KorAP.hintArray = hintArray;
KorAP.Hint = null;
domReady(function() {
KorAP.URL="http://localhost:3000"
//console.log(KorAP.URL=http://localhost:3003);
KorAP.Hint = hintClass.create();
KorAP.restoreMinusMenuButton = { // Whenever used is at location 0
defaultTextValue : "Back",
onclick : function (e) {
this._menu.hint().unReadQueries();
//e.halt();
}
};
KorAP.triggerDeleteModeButton = { // Whenever used is at location 1
defaultTextValue : "Delete Queries",
onclick : function (e) {
if (this._menu.hint()._queryReadMode === "READ") {
this._menu.hint()._deleteTheseQueries = [];
this.content("Delete Selected Queries");
this._menu.hint()._queryReadMode = "DELETE";
} else if (this._menu.hint()._queryReadMode === "DELETE") {
this._menu.hint()._deleteTheseQueries.forEach(function (query){
KorAP.API.deleteQuery(qn,console.log);
},undefined);
this._menu.hint()._deleteTheseQueries = [];
this._menu.hint()._queryReadMode = "READ";
this.content("Delete Queries");
} else {
//ERROR
console.log("What?");
};
this.menu("-").show();
//e.halt();
}
};
JSONListToQueryTemplates= function(JSONList) {
var queryItemTemplates = [];
JSONList.forEach(function(query){ //I need to see what this actually looks like!
queryItemTemplates.push([query["qname"],query["q"],query["desc"]])
}, undefined); //no "this" needed
return queryItemTemplates
};
KorAP.SaveButton = { // Whenever used is at location 0
onclick : function (e) {
var query = {}
query.q = "this._menu._hint._inputField._el.value";
query.ql = "a";
query.desc = "b";
KorAP.API.putQuery("query1",query,console.log);
this.menu("-").show();
//e.halt();
},
defaultTextValue : "Save Query"
};
KorAP.DisplayQueriesButton = { // Whenever used is at location 1
onclick : function (e) {
KorAP.API.getQueryList(KorAP.Hint.readQueries,console.log);
this.menu("-").show();
//e.halt();
},
defaultTextValue : "Display Stored Queries"
};
KorAP.Hint.menu("-").container().addItem(KorAP.SaveButton); //must be added to a specific context menu.
KorAP.Hint.menu("-").container().addItem(KorAP.DisplayQueriesButton); //must be added to a specific context menu.
KorAP.Hint.readQueries = function (JSONList) {
console.log(JSONList);
//Need to check what JSONList looks like
// 0: _name
// 1: _action (query)
// 2: _desc
var queryItemTemplates = JSONListToQueryTemplates(JSONList);
queryItemTemplates.push(["ExampleName","value","descr"]);
this.menu("-").readItems(queryItemTemplates);
this._queryReadMode = "READ"; //alternative: "DELETE"
this._deleteTheseQueries = [];
// add first, remove later to avoid empty lists
this.menu("-").container().addItem(KorAP.restoreMinusMenuButton);
this.menu("-").container().addItem(KorAP.triggerDeleteModeButton);
this.menu("-").container().removeItemByIndex(0); //Save Button
this.menu("-").container().removeItemByIndex(0); //Display Button
this.menu("-").show();
}.bind(KorAP.Hint);
KorAP.Hint.unReadQueries = function () {
KorAP.log("unread");
this.menu("-").readItems(KorAP.annotationHelper["-"]);
this._queryReadMode = "READ"; //alternative: "DELETE"
this._deleteTheseQueries = [];
// add first, remove later to avoid empty lists
this.menu("-").container().addItem(KorAP.SaveButton);
this.menu("-").container().addItem(KorAP.DisplayQueriesButton);
this.menu("-").container().removeItemByIndex(0); //restoreMinusMenuButton
this.menu("-").container().removeItemByIndex(0); //triggerDeleteModeButton
this.menu("-").show();
}.bind(KorAP.Hint);
/**
* Add query panel
*/
var queryPanel = queryPanelClass.create();
// Get input field
var sform = document.getElementById("searchform");
var vcView = document.getElementById('vc-view')
if (sform && vcView) {
// The views are below the query bar
sform.insertBefore(queryPanel.element(),vcView);
KorAP.Panel = KorAP.Panel || {};
KorAP.Panel['query'] = queryPanel;
}
// Load plugin server
KorAP.Plugin = pluginClass.create();
KorAP.Plugin.register
// Register match plugin
KorAP.Plugin.register({
'name' : 'Example New',
'desc' : 'Some content about cats',
'embed' : [{
'panel' : 'query',
'title' : 'Translate',
'classes' : ['translate'],
'onClick' : {
"template" : "http://localhost:3003/demo/plugin-client.html"
}
},{
'panel' : 'query',
'title' : 'Glemm',
'classes' : ['glemm'],
'onClick' : {
"action":"toggle",
"template" : "http://localhost:3003/demo/plugin-client.html"
}
}]
});
// Register match plugin
KorAP.Plugin.register({
'name' : 'Glimpse',
'desc' : 'Shorten all queries',
'embed' : [{
'panel' : 'query',
'title' : 'Glimpse',
'classes' : ['glimpse'],
'onClick' : {
"action" : "toggle",
"template" : "http://localhost:3003/demo/plugin-client.html"
}
}]
});
console.log(KorAP.Hint);
});
});
function demoAlert (pos, msg) {
if (KorAP.hint !== undefined)
KorAP.Hint.alert(pos, msg);
}