2012-03-06 19:32:49 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2012 Morgan McMillian
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
enyo.kind({
|
|
|
|
name: "TodoEdit",
|
|
|
|
kind: enyo.VFlexBox,
|
|
|
|
events: {
|
|
|
|
"onClose": "",
|
|
|
|
"onSave": ""
|
|
|
|
},
|
|
|
|
components: [
|
2012-03-12 01:06:11 +00:00
|
|
|
{name: "insertPopup", kind: "ModalDialog", dismissWithClick: true,
|
2012-03-11 19:55:30 +00:00
|
|
|
layoutKind: "VFlexLayout", height: "60%",
|
2012-03-12 01:06:11 +00:00
|
|
|
contentHeight: "100%", onClose: "closePopup",
|
2012-03-11 19:04:46 +00:00
|
|
|
components: [
|
2012-03-12 01:06:11 +00:00
|
|
|
{flex: 1, name: "iscroller", kind: "Scroller",
|
|
|
|
components: [
|
2012-03-11 19:04:46 +00:00
|
|
|
{name: "projects", kind: "RowGroup", caption: "Projects"},
|
2012-03-11 19:55:30 +00:00
|
|
|
{name: "contexts", kind: "RowGroup", caption: "Contexts"}
|
2012-03-12 01:06:11 +00:00
|
|
|
]}
|
2012-03-11 19:04:46 +00:00
|
|
|
]},
|
|
|
|
{name: "filterToolbar", kind: "Toolbar", pack: "justify", className: "enyo-toolbar-light",
|
|
|
|
components: [
|
|
|
|
{kind: "RadioGroup", name: "priGroup",
|
|
|
|
onChange: "setPriority", components: [
|
|
|
|
{caption: "-", value: "-"},
|
|
|
|
{caption: "A", value: "A"},
|
|
|
|
{caption: "B", value: "B"},
|
|
|
|
{caption: "C", value: "C"},
|
|
|
|
{caption: "D", value: "D"},
|
|
|
|
{caption: "E", value: "E"}
|
|
|
|
]},
|
|
|
|
{kind: "Button", caption: "+", onclick: "showInsert"}
|
|
|
|
]
|
|
|
|
},
|
2012-03-12 00:37:33 +00:00
|
|
|
{flex: 1, name: "scroller", kind: "Scroller", components: [
|
2012-03-11 19:04:46 +00:00
|
|
|
{kind: "RichText", name: "tododetail", richContent: false},
|
2012-03-06 19:32:49 +00:00
|
|
|
]},
|
|
|
|
{name: "editToolbar", kind: "Toolbar", pack: "justify", className: "enyo-toolbar-light",
|
|
|
|
components: [
|
|
|
|
{flex: 1, kind: "Button", caption: "Cancel",
|
|
|
|
onclick: "doClose", align: "left"},
|
|
|
|
{flex: 1, kind: "Button", caption: "Save",
|
|
|
|
onclick: "doSave", align: "right"}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2012-03-11 19:04:46 +00:00
|
|
|
],
|
|
|
|
|
|
|
|
setPriority: function(inSender) {
|
|
|
|
var pri = inSender.getValue();
|
|
|
|
var val = this.$.tododetail.getValue();
|
|
|
|
val = val.replace(/^\([A-E]\)\s/,"")
|
|
|
|
if (pri.match(/[A-E]/)) {
|
|
|
|
this.$.tododetail.setValue(
|
|
|
|
"(" + pri + ") " + val);
|
|
|
|
} else {
|
|
|
|
this.$.tododetail.setValue( val );
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
showInsert: function() {
|
|
|
|
this.$.insertPopup.openAtCenter();
|
|
|
|
this.projectList = this.owner.$.listView.getProjectList();
|
|
|
|
for (i=0; i<this.projectList.length; i++) {
|
|
|
|
var project = this.projectList[i];
|
|
|
|
var name = project.replace(/^\+/,"PRJ_");
|
|
|
|
this.$.projects.createComponent(
|
|
|
|
{content: project, name: name, owner: this,
|
|
|
|
onclick: "insert"}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
this.$.projects.render();
|
|
|
|
this.contextList = this.owner.$.listView.getContextList();
|
|
|
|
for (i=0; i<this.contextList.length; i++) {
|
|
|
|
var context = this.contextList[i];
|
|
|
|
var name = context.replace(/^@/,"CTX_");
|
|
|
|
this.$.contexts.createComponent(
|
|
|
|
{content: context, name: name, owner: this,
|
|
|
|
onclick: "insert"}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
this.$.contexts.render();
|
2012-03-12 01:06:11 +00:00
|
|
|
this.$.iscroller.render();
|
2012-03-11 19:04:46 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
closePopup: function() {
|
|
|
|
for (i=0; i<this.projectList.length; i++) {
|
|
|
|
var name = this.projectList[i].replace(/^\+/,"PRJ_");
|
|
|
|
eval("this.$."+name+".destroy()");
|
|
|
|
}
|
|
|
|
this.$.projects.render();
|
|
|
|
for (i=0; i<this.contextList.length; i++) {
|
|
|
|
var name = this.contextList[i].replace(/^@/,"CTX_");
|
|
|
|
eval("this.$."+name+".destroy()");
|
|
|
|
}
|
|
|
|
this.$.contexts.render();
|
2012-03-12 01:06:11 +00:00
|
|
|
this.$.tododetail.forceFocus();
|
2012-03-11 19:04:46 +00:00
|
|
|
this.$.insertPopup.close();
|
|
|
|
},
|
|
|
|
|
|
|
|
insert: function(inSender, inEvent) {
|
|
|
|
var val = this.$.tododetail.getValue();
|
|
|
|
this.$.tododetail.setValue(val + " " + inSender.content);
|
|
|
|
this.closePopup();
|
|
|
|
this.$.tododetail.forceFocus();
|
|
|
|
}
|
2012-03-06 19:32:49 +00:00
|
|
|
|
|
|
|
});
|