diff options
Diffstat (limited to '')
259 files changed, 7138 insertions, 0 deletions
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.js new file mode 100644 index 0000000..3addd32 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.js @@ -0,0 +1,1230 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.atom.widget.FeedEntryEditor"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedEntryEditor"] = true;
+dojo.provide("dojox.atom.widget.FeedEntryEditor");
+
+dojo.require("dojox.atom.widget.FeedEntryViewer");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dijit.Editor");
+dojo.require("dijit.form.TextBox");
+dojo.require("dijit.form.SimpleTextarea");
+dojo.requireLocalization("dojox.atom.widget", "FeedEntryEditor", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw");
+dojo.requireLocalization("dojox.atom.widget", "PeopleEditor", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw");
+
+dojo.experimental("dojox.atom.widget.FeedEntryEditor");
+
+dojo.declare("dojox.atom.widget.FeedEntryEditor",dojox.atom.widget.FeedEntryViewer,{
+ // summary:
+ // An ATOM feed entry editor that allows viewing of the individual attributes of an entry.
+ // description:
+ // An ATOM feed entry editor that allows viewing of the individual attributes of an entry.
+ _contentEditor: null,
+ _oldContent: null,
+ _setObject: null,
+ enableEdit: false,
+ _contentEditorCreator: null,
+ _editors: {},
+ entryNewButton: null,
+ _editable: false, //Flag denoting if the current entry is editable or not.
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedEntryEditor.html", "<div class=\"feedEntryViewer\">\r\n <table border=\"0\" width=\"100%\" class=\"feedEntryViewerMenuTable\" dojoAttachPoint=\"feedEntryViewerMenu\" style=\"display: none;\">\r\n <tr width=\"100%\" dojoAttachPoint=\"entryCheckBoxDisplayOptions\">\r\n \t<td align=\"left\" dojoAttachPoint=\"entryNewButton\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"doNew\" dojoAttachEvent=\"onclick:_toggleNew\"></span>\r\n \t</td>\r\n <td align=\"left\" dojoAttachPoint=\"entryEditButton\" style=\"display: none;\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"edit\" dojoAttachEvent=\"onclick:_toggleEdit\"></span>\r\n </td>\r\n <td align=\"left\" dojoAttachPoint=\"entrySaveCancelButtons\" style=\"display: none;\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"save\" dojoAttachEvent=\"onclick:saveEdits\"></span>\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"cancel\" dojoAttachEvent=\"onclick:cancelEdits\"></span>\r\n </td>\r\n <td align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"displayOptions\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n </tr>\r\n <tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCelltitle\">\r\n <input type=\"checkbox\" name=\"title\" value=\"Title\" dojoAttachPoint=\"feedEntryCheckBoxTitle\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelTitle\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellauthors\">\r\n <input type=\"checkbox\" name=\"authors\" value=\"Authors\" dojoAttachPoint=\"feedEntryCheckBoxAuthors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelAuthors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontributors\">\r\n <input type=\"checkbox\" name=\"contributors\" value=\"Contributors\" dojoAttachPoint=\"feedEntryCheckBoxContributors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContributors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellid\">\r\n <input type=\"checkbox\" name=\"id\" value=\"Id\" dojoAttachPoint=\"feedEntryCheckBoxId\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelId\"></label>\r\n </td>\r\n <td rowspan=\"2\" align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"close\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n\t\t</tr>\r\n\t\t<tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow2\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCellupdated\">\r\n <input type=\"checkbox\" name=\"updated\" value=\"Updated\" dojoAttachPoint=\"feedEntryCheckBoxUpdated\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelUpdated\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellsummary\">\r\n <input type=\"checkbox\" name=\"summary\" value=\"Summary\" dojoAttachPoint=\"feedEntryCheckBoxSummary\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelSummary\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontent\">\r\n <input type=\"checkbox\" name=\"content\" value=\"Content\" dojoAttachPoint=\"feedEntryCheckBoxContent\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContent\"></label>\r\n </td>\r\n </tr>\r\n </table>\r\n \r\n <table class=\"feedEntryViewerContainer\" border=\"0\" width=\"100%\">\r\n <tr class=\"feedEntryViewerTitle\" dojoAttachPoint=\"entryTitleRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryTitleHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entryTitleSelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan=\"2\" dojoAttachPoint=\"entryTitleNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerAuthor\" dojoAttachPoint=\"entryAuthorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryAuthorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryAuthorNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerContributor\" dojoAttachPoint=\"entryContributorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContributorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContributorNode\" class=\"feedEntryViewerContributorNames\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerId\" dojoAttachPoint=\"entryIdRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryIdHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryIdNode\" class=\"feedEntryViewerIdText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerUpdated\" dojoAttachPoint=\"entryUpdatedRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryUpdatedHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryUpdatedNode\" class=\"feedEntryViewerUpdatedText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerSummary\" dojoAttachPoint=\"entrySummaryRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\" colspan=\"2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entrySummaryHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entrySummarySelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entrySummaryNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerContent\" dojoAttachPoint=\"entryContentRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContentHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entryContentSelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContentNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n"),
+
+ postCreate: function(){
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ this.displayOptions.innerHTML = _nlsResources.displayOptions;
+ this.feedEntryCheckBoxLabelTitle.innerHTML = _nlsResources.title;
+ this.feedEntryCheckBoxLabelAuthors.innerHTML = _nlsResources.authors;
+ this.feedEntryCheckBoxLabelContributors.innerHTML = _nlsResources.contributors;
+ this.feedEntryCheckBoxLabelId.innerHTML = _nlsResources.id;
+ this.close.innerHTML = _nlsResources.close;
+ this.feedEntryCheckBoxLabelUpdated.innerHTML = _nlsResources.updated;
+ this.feedEntryCheckBoxLabelSummary.innerHTML = _nlsResources.summary;
+ this.feedEntryCheckBoxLabelContent.innerHTML = _nlsResources.content;
+
+ _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryEditor");
+ this.doNew.innerHTML = _nlsResources.doNew;
+ this.edit.innerHTML = _nlsResources.edit;
+ this.save.innerHTML = _nlsResources.save;
+ this.cancel.innerHTML = _nlsResources.cancel;
+ },
+
+ setEntry: function(/*object*/entry, /*object*/feed, /*boolean*/leaveMenuState){
+ // summary:
+ // Function to set the current entry that is being edited.
+ // description:
+ // Function to set the current entry that is being edited.
+ //
+ // entry:
+ // Instance of dojox.atom.io.model.Entry to display for reading/editing.
+ if(this._entry !== entry){
+ //If we swap entries, we don't want to keep the menu states and modes.
+ this._editMode=false;
+ leaveMenuState=false;
+ }else{
+ leaveMenuState = true;
+ }
+ dojox.atom.widget.FeedEntryEditor.superclass.setEntry.call(this, entry, feed);
+ this._editable = this._isEditable(entry);
+ if(!leaveMenuState && !this._editable){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ }
+ if(this._editable && this.enableEdit){
+ if(!leaveMenuState){
+ dojo.style(this.entryEditButton, 'display', '');
+ //TODO double check this &&...
+ if(this.enableMenuFade && this.entrySaveCancelButton){
+ dojo.fadeOut({node: this.entrySaveCancelButton,duration: 250}).play();
+ }
+ }
+ }
+ },
+
+ _toggleEdit: function(){
+ // summary:
+ // Internal function for toggling/enabling the display of edit mode
+ // description:
+ // Internal function for toggling/enabling the display of edit mode
+ //
+ // returns:
+ // Nothing.
+ if(this._editable && this.enableEdit){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', '');
+ this._editMode = true;
+
+ //Rebuild the view using the same entry and feed.
+ this.setEntry(this._entry, this._feed, true);
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent){
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this && entrySelectionEvent.action == "delete" &&
+ entrySelectionEvent.entry && entrySelectionEvent.entry == this._entry){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ }
+ dojox.atom.widget.FeedEntryEditor.superclass._handleEvent.call(this, entrySelectionEvent);
+ },
+
+ _isEditable: function(/*object*/entry){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine
+ //
+ // returns:
+ // Boolean denoting if the entry seems editable or not..
+ var retVal = false;
+ if(entry && entry !== null && entry.links && entry.links !== null){
+ for(var x in entry.links){
+ if(entry.links[x].rel && entry.links[x].rel == "edit"){
+ retVal = true;
+ break;
+ }
+ }
+ }
+ return retVal;
+ },
+
+ // The following set<Attribute> functions override the corresponding functions in FeedEntryViewer. These handle
+ // the editMode flag by inserting appropriate editor widgets inside of just splashing the content in the page.
+ setTitle: function(/*DOM node*/titleAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAnchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ //
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setTitle.call(this, titleAnchorNode, editMode, entry);
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ this.setFieldValidity("title", true);
+ }
+ }else{
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entryTitleSelect.value = entry.title.type;
+
+ var editor = this._createEditor(titleAnchorNode, entry.title, true, entry.title.type === "html" || entry.title.type === "xhtml");
+ editor.name = "title";
+ this._toLoad.push(editor);
+ this.setFieldValidity("titleedit",true);
+ this.setFieldValidity("title",true);
+ }
+ }
+ },
+
+ setAuthors: function(/*DOM node*/authorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // authorsAnchorNode:
+ // The DOM node to attach the author data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setAuthors.call(this, authorsAnchorNode, editMode, entry);
+ if(entry.authors && entry.authors.length > 0){
+ this.setFieldValidity("authors", true);
+ }
+ }else{
+ if(entry.authors && entry.authors.length > 0){
+ this._editors.authors = this._createPeopleEditor(this.entryAuthorNode, {data: entry.authors, name: "Author"});
+ this.setFieldValidity("authors", true);
+ }
+ }
+ },
+
+
+ setContributors: function(/*DOM node*/contributorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsAnchorNode:
+ // The DOM node to attach the contributor data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setContributors.call(this, contributorsAnchorNode, editMode, entry);
+ if(entry.contributors && entry.contributors.length > 0){
+ this.setFieldValidity("contributors", true);
+ }
+ }else{
+ if(entry.contributors && entry.contributors.length > 0){
+ this._editors.contributors = this._createPeopleEditor(this.entryContributorNode, {data: entry.contributors, name: "Contributor"});
+ this.setFieldValidity("contributors", true);
+ }
+ }
+ },
+
+
+ setId: function(/*DOM node*/idAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setId.call(this, idAnchorNode, editMode, entry);
+ if(entry.id && entry.id !== null){
+ this.setFieldValidity("id", true);
+ }
+ }else{
+ if(entry.id && entry.id !== null){
+ this._editors.id = this._createEditor(idAnchorNode, entry.id);
+ this.setFieldValidity("id",true);
+ }
+ }
+ },
+
+ setUpdated: function(/*DOM node*/updatedAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedAnchorNode:
+ // The DOM node to attach the udpated data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setUpdated.call(this, updatedAnchorNode, editMode, entry);
+ if(entry.updated && entry.updated !== null){
+ this.setFieldValidity("updated", true);
+ }
+ }else{
+ if(entry.updated && entry.updated !== null){
+ this._editors.updated = this._createEditor(updatedAnchorNode, entry.updated);
+ this.setFieldValidity("updated",true);
+ }
+ }
+ },
+
+
+ setSummary: function(/*DOM node*/summaryAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the summary data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setSummary.call(this, summaryAnchorNode, editMode, entry);
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ this.setFieldValidity("summary", true);
+ }
+ }else{
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entrySummarySelect.value = entry.summary.type;
+
+ var editor = this._createEditor(summaryAnchorNode, entry.summary, true, entry.summary.type === "html" || entry.summary.type === "xhtml");
+ editor.name = "summary";
+ this._toLoad.push(editor);
+ this.setFieldValidity("summaryedit",true);
+ this.setFieldValidity("summary",true);
+ }
+ }
+ },
+
+ setContent: function(/*DOM node*/contentAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the content data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setContent.call(this, contentAnchorNode, editMode, entry);
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ this.setFieldValidity("content",true);
+ }
+ }else{
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entryContentSelect.value = entry.content.type;
+ var editor = this._createEditor(contentAnchorNode, entry.content, true, entry.content.type === "html" || entry.content.type === "xhtml");
+ editor.name = "content";
+ this._toLoad.push(editor);
+ this.setFieldValidity("contentedit",true);
+ this.setFieldValidity("content",true);
+ }
+ }
+ },
+
+ _createEditor: function(/*DOM node*/anchorNode, /*DOM node*/node, /*boolean*/multiline, /*object*/rte){
+ // summary:
+ // Function to create an appropriate text editor widget based on the given parameters.
+ // description:
+ // Function to create an appropriate text editor widget based on the given parameters.
+ //
+ // anchorNode:
+ // The DOM node to attach the editor widget to.
+ // node:
+ // An object containing the value to be put into the editor. This ranges from an anonymous object
+ // with a value parameter to a dojox.atom.io.model.Content object.
+ // multiline:
+ // A boolean indicating whether the content should be multiline (such as a textarea) instead of a
+ // single line (such as a textbox).
+ // rte:
+ // A boolean indicating whether the content should be a rich text editor widget.
+ //
+ // returns:
+ // Either a widget (for textarea or textbox widgets) or an anonymous object to be used to create a
+ // rich text area widget.
+ var viewNode;
+ var box;
+ if(!node){
+ if(rte){
+ // Returns an anonymous object which would then be loaded later, after the containing element
+ // exists on the page.
+ return {anchorNode: anchorNode,
+ entryValue: "",
+ editor: null,
+ generateEditor: function(){
+ // The only way I found I could get the editor to behave consistently was to
+ // create the content on a span, and allow the content editor to replace it.
+ // This gets around the dynamic/delayed way in which content editors get created.
+ var node = document.createElement("div");
+ node.innerHTML = this.entryValue;
+ this.anchorNode.appendChild(node);
+ var _editor = new dijit.Editor({}, node);
+ this.editor = _editor;
+ return _editor;
+ }
+ };
+ }
+ if(multiline){
+ // If multiline, create a textarea
+ viewNode = document.createElement("textarea");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '90%');
+ box = new dijit.form.SimpleTextarea({},viewNode);
+ }else{
+ // If single line, create a textbox.
+ viewNode = document.createElement("input");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+ box = new dijit.form.TextBox({},viewNode);
+ }
+ box.attr('value', '');
+ return box;
+ }
+
+ // Check through the node parameter to get the value to be used.
+ var value;
+ if(node.value !== undefined){
+ value = node.value;
+ }else if(node.attr){
+ value = node.attr('value');
+ }else{
+ value = node;
+ }
+ if(rte){
+ // Returns an anonymous object which would then be loaded later, after the containing element
+ // exists on the page.
+ if(value.indexOf("<") != -1){
+ value = value.replace(/</g, "<");
+ }
+ return {anchorNode: anchorNode,
+ entryValue: value,
+ editor: null,
+ generateEditor: function(){
+ // The only way I found I could get the editor to behave consistently was to
+ // create the content on a span, and allow the content editor to replace it.
+ // This gets around the dynamic/delayed way in which content editors get created.
+ var node = document.createElement("div");
+ node.innerHTML = this.entryValue;
+ this.anchorNode.appendChild(node);
+ var _editor = new dijit.Editor({}, node);
+ this.editor = _editor;
+ return _editor;
+ }
+ };
+ }
+ if(multiline){
+ // If multiline, create a textarea
+ viewNode = document.createElement("textarea");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '90%');
+ box = new dijit.form.SimpleTextarea({},viewNode);
+ }else{
+ // If single line, create a textbox.
+ viewNode = document.createElement("input");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+ box = new dijit.form.TextBox({},viewNode);
+ }
+ box.attr('value', value);
+ return box;
+ },
+
+ _switchEditor: function(/*object*/event){
+ // summary:
+ // Function to switch between editor types.
+ // description:
+ // Function to switch between a rich text editor and a textarea widget. Used for title, summary,
+ // And content when switching between text and html/xhtml content.
+ //
+ // event:
+ // The event generated by the change in the select box on the page.
+ var type = null;
+ var target = null;
+ var parent = null;
+
+ // Determine the source/target of this event (to determine which editor we're switching)
+ if(dojo.isIE){
+ target = event.srcElement;
+ }else{
+ target = event.target;
+ }
+
+ // Determine which editor (title, summary, or content)
+ if(target === this.entryTitleSelect){
+ parent = this.entryTitleNode;
+ type = "title";
+ } else if(target === this.entrySummarySelect){
+ parent = this.entrySummaryNode;
+ type = "summary";
+ }else{
+ parent = this.entryContentNode;
+ type = "content";
+ }
+
+ // Grab the existing editor.
+ var editor = this._editors[type];
+ var newEditor;
+ var value;
+
+ if(target.value === "text"){
+ if(editor.declaredClass === "dijit.Editor"){
+ // If we're changing the type to text and our existing editor is a rich text editor, we need to destroy
+ // it and switch to a multiline editor.
+ value = editor.attr('value', false);
+ editor.close(false,true);
+ editor.destroy();
+ while(parent.firstChild){
+ dojo.destroy(parent.firstChild);
+ }
+ newEditor = this._createEditor(parent, {value: value}, true, false);
+ this._editors[type] = newEditor;
+ }
+ }else{
+ if(editor.declaredClass != "dijit.Editor"){
+ // Otherwise, we're switching to a html or xhtml type, but we currently have a textarea widget. We need
+ // to destroy the existing RTE and create a multiline textarea widget.
+ value = editor.attr('value');
+ editor.destroy();
+ while(parent.firstChild){
+ dojo.destroy(parent.firstChild);
+ }
+ newEditor = this._createEditor(parent, {value: value}, true, true);
+ newEditor = dojo.hitch(newEditor, newEditor.generateEditor)();
+ this._editors[type] = newEditor;
+ }
+ }
+ },
+
+ _createPeopleEditor: function(/*DOM node*/anchorNode, /*DOM node*/node){
+ // summary:
+ // Creates a People Editor widget and returns it.
+ // description:
+ // Creates a People Editor widget, sets its value, and returns it.
+ //
+ // anchorNode:
+ // The node to attach the editor to.
+ // node:
+ // An object containing the value to be put into the editor. Typically, this is an
+ // dojox.atom.io.model.Person object.
+ //
+ // returns: A new People Editor object.
+ var viewNode = document.createElement("div");
+ anchorNode.appendChild(viewNode);
+ return new dojox.atom.widget.PeopleEditor(node,viewNode);
+ },
+
+ saveEdits: function(){
+ // summary:
+ // Saves edits submitted when the 'save' button is pressed.
+ // description:
+ // Saves edits submitted when the 'save' button is pressed. Distinguishes between new and existing
+ // entries and saves appropriately. Fetches the values of the editors, and, if existing, compares them to
+ // the existing values and submits the updates, otherwise creates a new entry and posts it as a new entry.
+ //
+ // returns:
+ // Nothing.
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ dojo.style(this.entryEditButton, 'display', '');
+ dojo.style(this.entryNewButton, 'display', '');
+ var modifiedEntry = false;
+ var value;
+ var i;
+ var changed;
+ var entry;
+ var authors;
+ var contributors;
+ if(!this._new){
+ entry = this.getEntry();
+ if(this._editors.title && (this._editors.title.attr('value') != entry.title.value || this.entryTitleSelect.value != entry.title.type)){
+ value = this._editors.title.attr('value');
+ if(this.entryTitleSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.title = new dojox.atom.io.model.Content("title", value, null, this.entryTitleSelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.id.attr('value') != entry.id){
+ entry.id = this._editors.id.attr('value');
+ modifiedEntry = true;
+ }
+
+ if(this._editors.summary && (this._editors.summary.attr('value') != entry.summary.value || this.entrySummarySelect.value != entry.summary.type)){
+ value = this._editors.summary.attr('value');
+ if(this.entrySummarySelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.summary = new dojox.atom.io.model.Content("summary", value, null, this.entrySummarySelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.content && (this._editors.content.attr('value') != entry.content.value || this.entryContentSelect.value != entry.content.type)){
+ value = this._editors.content.attr('value');
+ if(this.entryContentSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.content = new dojox.atom.io.model.Content("content", value, null, this.entryContentSelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.authors){
+ if(modifiedEntry){
+ entry.authors = [];
+ authors = this._editors.authors.getValues();
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+ }else{
+ var currentAuthors = entry.authors;
+ var searchAuthors = function(name, email, uri){
+ for(i in currentAuthors){
+ if(currentAuthors[i].name === name && currentAuthors[i].email === email && currentAuthors[i].uri === uri){
+ return true;
+ }
+ }
+ return false;
+ };
+ authors = this._editors.authors.getValues();
+ changed = false;
+ for(i in authors){
+ if(!searchAuthors(authors[i].name, authors[i].email, authors[i].uri)){
+ changed = true;
+ break;
+ }
+ }
+ if(changed){
+ entry.authors = [];
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+ modifiedEntry = true;
+ }
+ }
+ }
+
+ if(this._editors.contributors){
+ if(modifiedEntry){
+ entry.contributors = [];
+ contributors = this._editors.contributors.getValues();
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addAuthor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+ }else{
+ var currentContributors = entry.contributors;
+ var searchContributors = function(name, email, uri){
+ for(i in currentContributors){
+ if(currentContributors[i].name === name && currentContributors[i].email === email && currentContributors[i].uri === uri){
+ return true;
+ }
+ }
+ return false;
+ };
+ contributors = this._editors.contributors.getValues();
+ changed = false;
+ for(i in contributors){
+ if(searchContributors(contributors[i].name, contributors[i].email, contributors[i].uri)){
+ changed = true;
+ break;
+ }
+ }
+ if(changed){
+ entry.contributors = [];
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addContributor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+ modifiedEntry = true;
+ }
+ }
+ }
+
+ if(modifiedEntry){
+ dojo.publish(this.entrySelectionTopic, [{action: "update", source: this, entry: entry, callback: this._handleSave }]);
+ //TODO: REMOVE BELOW
+ //var atomIO = new dojox.atom.io.Connection();
+ //atomIO.updateEntry(entry, dojo.hitch(this,this._handleSave));
+ //WARNING: Use above when testing with SimpleProxy (or any other servlet which
+ // doesn't actually create a new entry and return it properly)
+ //atomIO.updateEntry(entry, dojo.hitch(this,this._handleSave), true);
+ }
+ }else{
+ this._new = false;
+ entry = new dojox.atom.io.model.Entry();
+
+ value = this._editors.title.attr('value');
+ if(this.entryTitleSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.setTitle(value, this.entryTitleSelect.value);
+ entry.id = this._editors.id.attr('value');
+
+ authors = this._editors.authors.getValues();
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+
+ contributors = this._editors.contributors.getValues();
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addContributor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+
+
+ value = this._editors.summary.attr('value');
+ if(this.entrySummarySelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.summary = new dojox.atom.io.model.Content("summary", value, null, this.entrySummarySelect.value);
+
+ value = this._editors.content.attr('value');
+ if(this.entryContentSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.content = new dojox.atom.io.model.Content("content", value, null, this.entryContentSelect.value);
+
+ dojo.style(this.entryNewButton, 'display', '');
+ dojo.publish(this.entrySelectionTopic, [{action: "post", source: this, entry: entry }]);
+ }
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.setEntry(entry, this._feed, true);
+ },
+
+ _handleSave: function(/*object*/entry, /*string*/location){
+ // summary:
+ // Function for handling the save of an entry, cleaning up the display after the edit is completed.
+ // description:
+ // Function for handling the save of an entry, cleaning up the display after the edit is completed.
+ //
+ // entry: dojox.atom.io.model.Entry object
+ // The entry that was saved.
+ // Location: String
+ // A URL to be used, not used here, but part of the call back from the AtomIO
+ // returns:
+ // Nothing.
+ //Close the editor and revert out.
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.clear();
+ this.setEntry(entry, this.getFeed(), true);
+ },
+
+ cancelEdits: function(){
+ // summary:
+ // Cancels edits and reverts the editor to its previous state (display mode)
+ // description:
+ // Cancels edits and reverts the editor to its previous state (display mode)
+ //
+ // returns:
+ // Nothing.
+ this._new = false;
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ if(this._editable){
+ dojo.style(this.entryEditButton, 'display', '');
+ }
+ dojo.style(this.entryNewButton, 'display', '');
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.clearEditors();
+ this.setEntry(this.getEntry(), this.getFeed(), true);
+ },
+
+ clear: function(){
+ // summary:
+ // Clears the editor, destorys all editors, leaving the editor completely clear
+ // description:
+ // Clears the editor, destorys all editors, leaving the editor completely clear
+ this._editable=false;
+ this.clearEditors();
+ dojox.atom.widget.FeedEntryEditor.superclass.clear.apply(this);
+ if(this._contentEditor){
+ // Note that the superclass clear destroys the widget since it's in the child widget list,
+ // so this is just ref clearing.
+ this._contentEditor = this._setObject = this._oldContent = this._contentEditorCreator = null;
+ this._editors = {};
+ }
+ },
+
+ clearEditors: function(){
+ for(var key in this._editors){
+ if(this._editors[key].declaredClass === "dijit.Editor"){
+ this._editors[key].close(false, true);
+ }
+ this._editors[key].destroy();
+ }
+ this._editors = {};
+ },
+
+ _enforceXhtml: function(/*string*/html){
+ // summary:
+ // Function for cleaning up/enforcing the XHTML standard in HTML returned from the editor2 widget.
+ // description:
+ // Function for cleaning up/enforcing the XHTML standard in HTML returned from the editor2 widget.
+ //
+ // html:
+ // HTML string to be enforced as xhtml.
+ //
+ // returns:
+ // string of cleaned up HTML.
+ var xhtml = null;
+ if(html){
+ //Handle <BR>
+ var brRegExp = /<br>/g;
+ xhtml = html.replace(brRegExp, "<br/>");
+
+ //Handle <HR>
+ xhtml = this._closeTag(xhtml, "hr");
+
+ //Handle <img>
+ xhtml = this._closeTag(xhtml, "img");
+ }
+ return xhtml;
+ },
+
+ _closeTag: function(/*string*/xhtml, /*string*/tag){
+ // summary:
+ // Function for closing tags in a text of HTML/XHTML
+ // description:
+ // Function for closing tags in a text of HTML/XHTML
+ //
+ // xhtml: String
+ // XHTML string which needs the closing tag.
+ // tag:
+ // The tag to close.
+ //
+ // returns: string of cleaned up HTML.
+ //
+ // NOTE: Probably should redo this function in a more efficient way. This could get expensive.
+ var tagStart = "<" + tag;
+ var tagIndex = xhtml.indexOf(tagStart);
+ if(tagIndex !== -1){
+ while (tagIndex !== -1){
+ var tempString = "";
+ var foundTagEnd = false;
+ for (var i = 0; i < xhtml.length; i++){
+ var c = xhtml.charAt(i);
+ if(i <= tagIndex ||foundTagEnd){
+ tempString += c;
+ }
+ else
+ {
+ if(c === '>'){
+ tempString += "/";
+ foundTagEnd = true;
+ }
+ tempString +=c;
+ }
+ }
+ xhtml = tempString;
+ tagIndex = xhtml.indexOf(tagStart, tagIndex + 1);
+ }
+ }
+ return xhtml;
+ },
+
+ _toggleNew: function(){
+ // summary:
+ // Function to put the editor into a state to create a new entry.
+ // description:
+ // Function to put the editor into a state to create a new entry.
+
+ // Hide the edit/new buttons and show the save/cancel buttons.
+ dojo.style(this.entryNewButton, 'display', 'none');
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', '');
+
+ // Reset the type select boxes to text.
+ this.entrySummarySelect.value = "text";
+ this.entryContentSelect.value = "text";
+ this.entryTitleSelect.value = "text";
+
+ // Clear all nodes.
+ this.clearNodes();
+ this._new = true;
+
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ // Create all headers and editors.
+ var titleHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.title});
+ this.entryTitleHeader.appendChild(titleHeader.domNode);
+
+ this._editors.title = this._createEditor(this.entryTitleNode, null);
+ this.setFieldValidity("title",true);
+
+ var authorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.authors});
+ this.entryAuthorHeader.appendChild(authorHeader.domNode);
+
+ this._editors.authors = this._createPeopleEditor(this.entryAuthorNode, {name: "Author"});
+ this.setFieldValidity("authors", true);
+
+ var contributorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.contributors});
+ this.entryContributorHeader.appendChild(contributorHeader.domNode);
+
+ this._editors.contributors = this._createPeopleEditor(this.entryContributorNode, {name: "Contributor"});
+ this.setFieldValidity("contributors", true);
+
+ var idHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.id});
+ this.entryIdHeader.appendChild(idHeader.domNode);
+
+ this._editors.id = this._createEditor(this.entryIdNode, null);
+ this.setFieldValidity("id",true);
+
+ var updatedHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.updated});
+ this.entryUpdatedHeader.appendChild(updatedHeader.domNode);
+
+ this._editors.updated = this._createEditor(this.entryUpdatedNode, null);
+ this.setFieldValidity("updated",true);
+
+ var summaryHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.summary});
+ this.entrySummaryHeader.appendChild(summaryHeader.domNode);
+
+ this._editors.summary = this._createEditor(this.entrySummaryNode, null, true);
+ this.setFieldValidity("summaryedit",true);
+ this.setFieldValidity("summary",true);
+
+ var contentHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.content});
+ this.entryContentHeader.appendChild(contentHeader.domNode);
+
+ this._editors.content = this._createEditor(this.entryContentNode, null, true);
+ this.setFieldValidity("contentedit",true);
+ this.setFieldValidity("content",true);
+
+ // Show the sections.
+ this._displaySections();
+ },
+
+ _displaySections: function(){
+ // summary: Function to display the appropriate sections based on validity.
+ // description: Function to display the appropriate sections based on validity.
+
+ // Hide select boxes.
+ dojo.style(this.entrySummarySelect, 'display', 'none');
+ dojo.style(this.entryContentSelect, 'display', 'none');
+ dojo.style(this.entryTitleSelect, 'display', 'none');
+
+ // Show select boxes if the flags are set.
+ if(this.isFieldValid("contentedit")){
+ dojo.style(this.entryContentSelect, 'display', '');
+ }
+ if(this.isFieldValid("summaryedit")){
+ dojo.style(this.entrySummarySelect, 'display', '');
+ }
+ if(this.isFieldValid("titleedit")){
+ dojo.style(this.entryTitleSelect, 'display', '');
+ }
+ // Call super's _displaySections.
+ dojox.atom.widget.FeedEntryEditor.superclass._displaySections.apply(this);
+
+ // If we have editors to load after the nodes are created on the page, execute those now.
+ if(this._toLoad){
+ for(var i in this._toLoad){
+ var editor;
+ if(this._toLoad[i].generateEditor){
+ editor = dojo.hitch(this._toLoad[i], this._toLoad[i].generateEditor)();
+ }else{
+ editor = this._toLoad[i];
+ }
+ this._editors[this._toLoad[i].name] = editor;
+ this._toLoad[i] = null;
+ }
+ this._toLoad = null;
+ }
+ }
+});
+
+dojo.declare("dojox.atom.widget.PeopleEditor",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An editor for dojox.atom.io.model.Person objects.
+ // description:
+ // An editor for dojox.atom.io.model.Person objects. Displays multiple rows for the respective arrays
+ // of people. Can add/remove rows on the fly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/PeopleEditor.html", "<div class=\"peopleEditor\">\r\n\t<table style=\"width: 100%\">\r\n\t\t<tbody dojoAttachPoint=\"peopleEditorEditors\"></tbody>\r\n\t</table>\r\n\t<span class=\"peopleEditorButton\" dojoAttachPoint=\"peopleEditorButton\" dojoAttachEvent=\"onclick:_add\"></span>\r\n</div>\r\n"),
+
+ _rows: [],
+ _editors: [],
+ _index: 0,
+ _numRows: 0,
+
+ postCreate: function(){
+ // Initializer function for the PeopleEditor widget.
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "PeopleEditor");
+ if(this.name){
+ if(this.name == "Author"){
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.addAuthor+"]"));
+ }else if(this.name == "Contributor"){
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.addContributor+"]"));
+ }
+ }else{
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.add+"]"));
+ }
+ this._editors = [];
+
+ if(!this.data || this.data.length===0){
+ this._createEditors(null, null, null, 0, this.name);
+ this._index = 1;
+ }else{
+ for(var i in this.data){
+ this._createEditors(this.data[i].name, this.data[i].email, this.data[i].uri, i);
+ this._index++;
+ this._numRows++;
+ }
+ }
+ },
+
+ destroy: function(){
+ for(var key in this._editors){
+ for(var key2 in this._editors[key]){
+ this._editors[key][key2].destroy();
+ }
+ }
+ this._editors = [];
+ },
+
+ _createEditors: function(/*string*/name, /*string*/email, /*string*/uri, /*int*/index, /*string*/widgetName){
+ // summary:
+ // creates editor boxes (textbox widgets) for the individual values of a Person.
+ // description:
+ // creates editor boxes (textbox widgets) for the individual values of a Person.
+ //
+ // name:
+ // The name of this Person.
+ // email:
+ // The email of this Person.
+ // uri:
+ // The Person's URI.
+ // index:
+ // The row index to use for this Person.
+ var row = document.createElement("tr");
+ this.peopleEditorEditors.appendChild(row);
+ row.id = "removeRow"+index;
+
+ var node = document.createElement("td");
+ node.setAttribute('align', 'right');
+ row.appendChild(node);
+ node.colSpan = 2;
+
+ if(this._numRows>0){
+ var hr = document.createElement("hr");
+ node.appendChild(hr);
+ hr.id = "hr"+index;
+ }
+
+ row = document.createElement("span");
+ node.appendChild(row);
+ row.className = "peopleEditorButton";
+ dojo.style(row, 'font-size', 'x-small');
+ dojo.connect(row, "onclick", this, "_removeEditor");
+ row.id = "remove"+index;
+
+ node = document.createTextNode("[X]");
+ row.appendChild(node);
+
+ row = document.createElement("tr");
+ this.peopleEditorEditors.appendChild(row);
+ row.id = "editorsRow"+index;
+
+ var labelNode = document.createElement("td");
+ row.appendChild(labelNode);
+ dojo.style(labelNode, 'width', '20%');
+
+ node = document.createElement("td");
+ row.appendChild(node);
+
+ row = document.createElement("table");
+ labelNode.appendChild(row);
+ dojo.style(row, 'width', '100%');
+
+ labelNode = document.createElement("tbody");
+ row.appendChild(labelNode);
+
+ row = document.createElement("table");
+ node.appendChild(row);
+ dojo.style(row, 'width', '100%');
+
+ node = document.createElement("tbody");
+ row.appendChild(node);
+
+ this._editors[index] = [];
+ this._editors[index].push(this._createEditor(name, widgetName+'name'+index, 'Name:', labelNode, node));
+ this._editors[index].push(this._createEditor(email, widgetName+'email'+index, 'Email:', labelNode, node));
+ this._editors[index].push(this._createEditor(uri, widgetName+'uri'+index, 'URI:', labelNode, node));
+ },
+
+ _createEditor: function(/*string*/value, /*string*/id, /*string*/name, /*DOM node*/labelNode, /*DOM node*/node){
+ // summary:
+ // Creates an individual editor widget (textbox) for a value.
+ // description:
+ // Creates an individual editor widget (textbox) for a value.
+ //
+ // value:
+ // The initial value of the textbox
+ // id:
+ // The id the textbox should have.
+ // name:
+ // The text to put in the label element for this textbox.
+ // labelNode:
+ // The node to attach the label to.
+ // node:
+ // The node to attach the editor rows to.
+ //
+ // returns:
+ // Editor widget.
+ var row = document.createElement("tr");
+ labelNode.appendChild(row);
+
+ var label = document.createElement("label");
+ label.setAttribute('for', id);
+ label.appendChild(document.createTextNode(name));
+ labelNode = document.createElement("td");
+ labelNode.appendChild(label);
+ row.appendChild(labelNode);
+
+ row = document.createElement("tr");
+ node.appendChild(row);
+
+ node = document.createElement("td");
+ row.appendChild(node);
+
+ var viewNode = document.createElement("input");
+ viewNode.setAttribute('id', id);
+ node.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+
+ var box = new dijit.form.TextBox({},viewNode);
+ box.attr('value', value);
+ return box;
+ },
+
+ _removeEditor: function(/*object*/event){
+ // summary:
+ // Removes a Person from our list of editors.
+ // description:
+ // Removes a Person from our list of editors by removing the block of editors that
+ // make up that Person.
+ //
+ // event:
+ // The event generated when the remove button is pressed on the page.
+ var target = null;
+
+ if(dojo.isIE){
+ target = event.srcElement;
+ }else{
+ target = event.target;
+ }
+
+ var id = target.id;
+ id = id.substring(6);
+ for(var key in this._editors[id]){
+ this._editors[id][key].destroy();
+ }
+
+ var node = dojo.byId("editorsRow"+id);
+ var parent = node.parentNode;
+ parent.removeChild(node);
+
+ node = dojo.byId("removeRow"+id);
+ parent = node.parentNode;
+ parent.removeChild(node);
+
+ this._numRows--;
+ if(this._numRows === 1 && parent.firstChild.firstChild.firstChild.tagName.toLowerCase() === "hr"){
+ node = parent.firstChild.firstChild;
+ node.removeChild(node.firstChild);
+ }
+ this._editors[id] = null;
+ },
+
+ _add: function(){
+ // summary:
+ // Adds a new block of blank editors to represent a Person.
+ // description:
+ // Adds a new block of blank editors to represent a Person.
+ this._createEditors(null, null, null, this._index);
+ this._index++;
+ this._numRows++;
+ },
+
+ getValues: function(){
+ // summary:
+ // Gets the values of this editor in an array.
+ // description:
+ // Gets the values of this editor in an array, with each Person as an object within the array.
+ //
+ // returns:
+ // An array of anonymous objects representing dojox.atom.io.model.Persons.
+ var values = [];
+ for(var i in this._editors){
+ if(this._editors[i]){
+ values.push({name: this._editors[i][0].attr('value'), email: this._editors[i][1].attr('value'), uri: this._editors[i][2].attr('value')});
+ }
+ }
+ return values;
+ }
+});
+
+}
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.xd.js new file mode 100644 index 0000000..acccd3f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedEntryEditor.xd.js @@ -0,0 +1,1243 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.atom.widget.FeedEntryEditor"],
+["require", "dojox.atom.widget.FeedEntryViewer"],
+["require", "dijit._Widget"],
+["require", "dijit._Templated"],
+["require", "dijit._Container"],
+["require", "dijit.Editor"],
+["require", "dijit.form.TextBox"],
+["require", "dijit.form.SimpleTextarea"],
+["requireLocalization", "dojox.atom.widget", "FeedEntryEditor", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw", "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"],
+["requireLocalization", "dojox.atom.widget", "PeopleEditor", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw", "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.atom.widget.FeedEntryEditor"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedEntryEditor"] = true;
+dojo.provide("dojox.atom.widget.FeedEntryEditor");
+
+dojo.require("dojox.atom.widget.FeedEntryViewer");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dijit.Editor");
+dojo.require("dijit.form.TextBox");
+dojo.require("dijit.form.SimpleTextarea");
+;
+;
+
+dojo.experimental("dojox.atom.widget.FeedEntryEditor");
+
+dojo.declare("dojox.atom.widget.FeedEntryEditor",dojox.atom.widget.FeedEntryViewer,{
+ // summary:
+ // An ATOM feed entry editor that allows viewing of the individual attributes of an entry.
+ // description:
+ // An ATOM feed entry editor that allows viewing of the individual attributes of an entry.
+ _contentEditor: null,
+ _oldContent: null,
+ _setObject: null,
+ enableEdit: false,
+ _contentEditorCreator: null,
+ _editors: {},
+ entryNewButton: null,
+ _editable: false, //Flag denoting if the current entry is editable or not.
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedEntryEditor.html", "<div class=\"feedEntryViewer\">\r\n <table border=\"0\" width=\"100%\" class=\"feedEntryViewerMenuTable\" dojoAttachPoint=\"feedEntryViewerMenu\" style=\"display: none;\">\r\n <tr width=\"100%\" dojoAttachPoint=\"entryCheckBoxDisplayOptions\">\r\n \t<td align=\"left\" dojoAttachPoint=\"entryNewButton\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"doNew\" dojoAttachEvent=\"onclick:_toggleNew\"></span>\r\n \t</td>\r\n <td align=\"left\" dojoAttachPoint=\"entryEditButton\" style=\"display: none;\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"edit\" dojoAttachEvent=\"onclick:_toggleEdit\"></span>\r\n </td>\r\n <td align=\"left\" dojoAttachPoint=\"entrySaveCancelButtons\" style=\"display: none;\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"save\" dojoAttachEvent=\"onclick:saveEdits\"></span>\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"cancel\" dojoAttachEvent=\"onclick:cancelEdits\"></span>\r\n </td>\r\n <td align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"displayOptions\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n </tr>\r\n <tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCelltitle\">\r\n <input type=\"checkbox\" name=\"title\" value=\"Title\" dojoAttachPoint=\"feedEntryCheckBoxTitle\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelTitle\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellauthors\">\r\n <input type=\"checkbox\" name=\"authors\" value=\"Authors\" dojoAttachPoint=\"feedEntryCheckBoxAuthors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelAuthors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontributors\">\r\n <input type=\"checkbox\" name=\"contributors\" value=\"Contributors\" dojoAttachPoint=\"feedEntryCheckBoxContributors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContributors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellid\">\r\n <input type=\"checkbox\" name=\"id\" value=\"Id\" dojoAttachPoint=\"feedEntryCheckBoxId\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelId\"></label>\r\n </td>\r\n <td rowspan=\"2\" align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"close\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n\t\t</tr>\r\n\t\t<tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow2\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCellupdated\">\r\n <input type=\"checkbox\" name=\"updated\" value=\"Updated\" dojoAttachPoint=\"feedEntryCheckBoxUpdated\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelUpdated\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellsummary\">\r\n <input type=\"checkbox\" name=\"summary\" value=\"Summary\" dojoAttachPoint=\"feedEntryCheckBoxSummary\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelSummary\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontent\">\r\n <input type=\"checkbox\" name=\"content\" value=\"Content\" dojoAttachPoint=\"feedEntryCheckBoxContent\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContent\"></label>\r\n </td>\r\n </tr>\r\n </table>\r\n \r\n <table class=\"feedEntryViewerContainer\" border=\"0\" width=\"100%\">\r\n <tr class=\"feedEntryViewerTitle\" dojoAttachPoint=\"entryTitleRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryTitleHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entryTitleSelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan=\"2\" dojoAttachPoint=\"entryTitleNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerAuthor\" dojoAttachPoint=\"entryAuthorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryAuthorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryAuthorNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerContributor\" dojoAttachPoint=\"entryContributorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContributorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContributorNode\" class=\"feedEntryViewerContributorNames\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerId\" dojoAttachPoint=\"entryIdRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryIdHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryIdNode\" class=\"feedEntryViewerIdText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerUpdated\" dojoAttachPoint=\"entryUpdatedRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryUpdatedHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryUpdatedNode\" class=\"feedEntryViewerUpdatedText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerSummary\" dojoAttachPoint=\"entrySummaryRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\" colspan=\"2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entrySummaryHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entrySummarySelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entrySummaryNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerContent\" dojoAttachPoint=\"entryContentRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContentHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td>\r\n \t<select dojoAttachPoint=\"entryContentSelect\" dojoAttachEvent=\"onchange:_switchEditor\" style=\"display: none\">\r\n \t\t<option value=\"text\">Text</option>\r\n\t\t\t\t\t\t\t\t<option value=\"html\">HTML</option>\r\n\t\t\t\t\t\t\t\t<option value=\"xhtml\">XHTML</option>\r\n \t</select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContentNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n"),
+
+ postCreate: function(){
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ this.displayOptions.innerHTML = _nlsResources.displayOptions;
+ this.feedEntryCheckBoxLabelTitle.innerHTML = _nlsResources.title;
+ this.feedEntryCheckBoxLabelAuthors.innerHTML = _nlsResources.authors;
+ this.feedEntryCheckBoxLabelContributors.innerHTML = _nlsResources.contributors;
+ this.feedEntryCheckBoxLabelId.innerHTML = _nlsResources.id;
+ this.close.innerHTML = _nlsResources.close;
+ this.feedEntryCheckBoxLabelUpdated.innerHTML = _nlsResources.updated;
+ this.feedEntryCheckBoxLabelSummary.innerHTML = _nlsResources.summary;
+ this.feedEntryCheckBoxLabelContent.innerHTML = _nlsResources.content;
+
+ _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryEditor");
+ this.doNew.innerHTML = _nlsResources.doNew;
+ this.edit.innerHTML = _nlsResources.edit;
+ this.save.innerHTML = _nlsResources.save;
+ this.cancel.innerHTML = _nlsResources.cancel;
+ },
+
+ setEntry: function(/*object*/entry, /*object*/feed, /*boolean*/leaveMenuState){
+ // summary:
+ // Function to set the current entry that is being edited.
+ // description:
+ // Function to set the current entry that is being edited.
+ //
+ // entry:
+ // Instance of dojox.atom.io.model.Entry to display for reading/editing.
+ if(this._entry !== entry){
+ //If we swap entries, we don't want to keep the menu states and modes.
+ this._editMode=false;
+ leaveMenuState=false;
+ }else{
+ leaveMenuState = true;
+ }
+ dojox.atom.widget.FeedEntryEditor.superclass.setEntry.call(this, entry, feed);
+ this._editable = this._isEditable(entry);
+ if(!leaveMenuState && !this._editable){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ }
+ if(this._editable && this.enableEdit){
+ if(!leaveMenuState){
+ dojo.style(this.entryEditButton, 'display', '');
+ //TODO double check this &&...
+ if(this.enableMenuFade && this.entrySaveCancelButton){
+ dojo.fadeOut({node: this.entrySaveCancelButton,duration: 250}).play();
+ }
+ }
+ }
+ },
+
+ _toggleEdit: function(){
+ // summary:
+ // Internal function for toggling/enabling the display of edit mode
+ // description:
+ // Internal function for toggling/enabling the display of edit mode
+ //
+ // returns:
+ // Nothing.
+ if(this._editable && this.enableEdit){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', '');
+ this._editMode = true;
+
+ //Rebuild the view using the same entry and feed.
+ this.setEntry(this._entry, this._feed, true);
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent){
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this && entrySelectionEvent.action == "delete" &&
+ entrySelectionEvent.entry && entrySelectionEvent.entry == this._entry){
+ dojo.style(this.entryEditButton, 'display', 'none');
+ }
+ dojox.atom.widget.FeedEntryEditor.superclass._handleEvent.call(this, entrySelectionEvent);
+ },
+
+ _isEditable: function(/*object*/entry){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine
+ //
+ // returns:
+ // Boolean denoting if the entry seems editable or not..
+ var retVal = false;
+ if(entry && entry !== null && entry.links && entry.links !== null){
+ for(var x in entry.links){
+ if(entry.links[x].rel && entry.links[x].rel == "edit"){
+ retVal = true;
+ break;
+ }
+ }
+ }
+ return retVal;
+ },
+
+ // The following set<Attribute> functions override the corresponding functions in FeedEntryViewer. These handle
+ // the editMode flag by inserting appropriate editor widgets inside of just splashing the content in the page.
+ setTitle: function(/*DOM node*/titleAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAnchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ //
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setTitle.call(this, titleAnchorNode, editMode, entry);
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ this.setFieldValidity("title", true);
+ }
+ }else{
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entryTitleSelect.value = entry.title.type;
+
+ var editor = this._createEditor(titleAnchorNode, entry.title, true, entry.title.type === "html" || entry.title.type === "xhtml");
+ editor.name = "title";
+ this._toLoad.push(editor);
+ this.setFieldValidity("titleedit",true);
+ this.setFieldValidity("title",true);
+ }
+ }
+ },
+
+ setAuthors: function(/*DOM node*/authorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // authorsAnchorNode:
+ // The DOM node to attach the author data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setAuthors.call(this, authorsAnchorNode, editMode, entry);
+ if(entry.authors && entry.authors.length > 0){
+ this.setFieldValidity("authors", true);
+ }
+ }else{
+ if(entry.authors && entry.authors.length > 0){
+ this._editors.authors = this._createPeopleEditor(this.entryAuthorNode, {data: entry.authors, name: "Author"});
+ this.setFieldValidity("authors", true);
+ }
+ }
+ },
+
+
+ setContributors: function(/*DOM node*/contributorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsAnchorNode:
+ // The DOM node to attach the contributor data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setContributors.call(this, contributorsAnchorNode, editMode, entry);
+ if(entry.contributors && entry.contributors.length > 0){
+ this.setFieldValidity("contributors", true);
+ }
+ }else{
+ if(entry.contributors && entry.contributors.length > 0){
+ this._editors.contributors = this._createPeopleEditor(this.entryContributorNode, {data: entry.contributors, name: "Contributor"});
+ this.setFieldValidity("contributors", true);
+ }
+ }
+ },
+
+
+ setId: function(/*DOM node*/idAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setId.call(this, idAnchorNode, editMode, entry);
+ if(entry.id && entry.id !== null){
+ this.setFieldValidity("id", true);
+ }
+ }else{
+ if(entry.id && entry.id !== null){
+ this._editors.id = this._createEditor(idAnchorNode, entry.id);
+ this.setFieldValidity("id",true);
+ }
+ }
+ },
+
+ setUpdated: function(/*DOM node*/updatedAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedAnchorNode:
+ // The DOM node to attach the udpated data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setUpdated.call(this, updatedAnchorNode, editMode, entry);
+ if(entry.updated && entry.updated !== null){
+ this.setFieldValidity("updated", true);
+ }
+ }else{
+ if(entry.updated && entry.updated !== null){
+ this._editors.updated = this._createEditor(updatedAnchorNode, entry.updated);
+ this.setFieldValidity("updated",true);
+ }
+ }
+ },
+
+
+ setSummary: function(/*DOM node*/summaryAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the summary data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setSummary.call(this, summaryAnchorNode, editMode, entry);
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ this.setFieldValidity("summary", true);
+ }
+ }else{
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entrySummarySelect.value = entry.summary.type;
+
+ var editor = this._createEditor(summaryAnchorNode, entry.summary, true, entry.summary.type === "html" || entry.summary.type === "xhtml");
+ editor.name = "summary";
+ this._toLoad.push(editor);
+ this.setFieldValidity("summaryedit",true);
+ this.setFieldValidity("summary",true);
+ }
+ }
+ },
+
+ setContent: function(/*DOM node*/contentAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the content data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(!editMode){
+ dojox.atom.widget.FeedEntryEditor.superclass.setContent.call(this, contentAnchorNode, editMode, entry);
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ this.setFieldValidity("content",true);
+ }
+ }else{
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ if(!this._toLoad){
+ this._toLoad = [];
+ }
+ this.entryContentSelect.value = entry.content.type;
+ var editor = this._createEditor(contentAnchorNode, entry.content, true, entry.content.type === "html" || entry.content.type === "xhtml");
+ editor.name = "content";
+ this._toLoad.push(editor);
+ this.setFieldValidity("contentedit",true);
+ this.setFieldValidity("content",true);
+ }
+ }
+ },
+
+ _createEditor: function(/*DOM node*/anchorNode, /*DOM node*/node, /*boolean*/multiline, /*object*/rte){
+ // summary:
+ // Function to create an appropriate text editor widget based on the given parameters.
+ // description:
+ // Function to create an appropriate text editor widget based on the given parameters.
+ //
+ // anchorNode:
+ // The DOM node to attach the editor widget to.
+ // node:
+ // An object containing the value to be put into the editor. This ranges from an anonymous object
+ // with a value parameter to a dojox.atom.io.model.Content object.
+ // multiline:
+ // A boolean indicating whether the content should be multiline (such as a textarea) instead of a
+ // single line (such as a textbox).
+ // rte:
+ // A boolean indicating whether the content should be a rich text editor widget.
+ //
+ // returns:
+ // Either a widget (for textarea or textbox widgets) or an anonymous object to be used to create a
+ // rich text area widget.
+ var viewNode;
+ var box;
+ if(!node){
+ if(rte){
+ // Returns an anonymous object which would then be loaded later, after the containing element
+ // exists on the page.
+ return {anchorNode: anchorNode,
+ entryValue: "",
+ editor: null,
+ generateEditor: function(){
+ // The only way I found I could get the editor to behave consistently was to
+ // create the content on a span, and allow the content editor to replace it.
+ // This gets around the dynamic/delayed way in which content editors get created.
+ var node = document.createElement("div");
+ node.innerHTML = this.entryValue;
+ this.anchorNode.appendChild(node);
+ var _editor = new dijit.Editor({}, node);
+ this.editor = _editor;
+ return _editor;
+ }
+ };
+ }
+ if(multiline){
+ // If multiline, create a textarea
+ viewNode = document.createElement("textarea");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '90%');
+ box = new dijit.form.SimpleTextarea({},viewNode);
+ }else{
+ // If single line, create a textbox.
+ viewNode = document.createElement("input");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+ box = new dijit.form.TextBox({},viewNode);
+ }
+ box.attr('value', '');
+ return box;
+ }
+
+ // Check through the node parameter to get the value to be used.
+ var value;
+ if(node.value !== undefined){
+ value = node.value;
+ }else if(node.attr){
+ value = node.attr('value');
+ }else{
+ value = node;
+ }
+ if(rte){
+ // Returns an anonymous object which would then be loaded later, after the containing element
+ // exists on the page.
+ if(value.indexOf("<") != -1){
+ value = value.replace(/</g, "<");
+ }
+ return {anchorNode: anchorNode,
+ entryValue: value,
+ editor: null,
+ generateEditor: function(){
+ // The only way I found I could get the editor to behave consistently was to
+ // create the content on a span, and allow the content editor to replace it.
+ // This gets around the dynamic/delayed way in which content editors get created.
+ var node = document.createElement("div");
+ node.innerHTML = this.entryValue;
+ this.anchorNode.appendChild(node);
+ var _editor = new dijit.Editor({}, node);
+ this.editor = _editor;
+ return _editor;
+ }
+ };
+ }
+ if(multiline){
+ // If multiline, create a textarea
+ viewNode = document.createElement("textarea");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '90%');
+ box = new dijit.form.SimpleTextarea({},viewNode);
+ }else{
+ // If single line, create a textbox.
+ viewNode = document.createElement("input");
+ anchorNode.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+ box = new dijit.form.TextBox({},viewNode);
+ }
+ box.attr('value', value);
+ return box;
+ },
+
+ _switchEditor: function(/*object*/event){
+ // summary:
+ // Function to switch between editor types.
+ // description:
+ // Function to switch between a rich text editor and a textarea widget. Used for title, summary,
+ // And content when switching between text and html/xhtml content.
+ //
+ // event:
+ // The event generated by the change in the select box on the page.
+ var type = null;
+ var target = null;
+ var parent = null;
+
+ // Determine the source/target of this event (to determine which editor we're switching)
+ if(dojo.isIE){
+ target = event.srcElement;
+ }else{
+ target = event.target;
+ }
+
+ // Determine which editor (title, summary, or content)
+ if(target === this.entryTitleSelect){
+ parent = this.entryTitleNode;
+ type = "title";
+ } else if(target === this.entrySummarySelect){
+ parent = this.entrySummaryNode;
+ type = "summary";
+ }else{
+ parent = this.entryContentNode;
+ type = "content";
+ }
+
+ // Grab the existing editor.
+ var editor = this._editors[type];
+ var newEditor;
+ var value;
+
+ if(target.value === "text"){
+ if(editor.declaredClass === "dijit.Editor"){
+ // If we're changing the type to text and our existing editor is a rich text editor, we need to destroy
+ // it and switch to a multiline editor.
+ value = editor.attr('value', false);
+ editor.close(false,true);
+ editor.destroy();
+ while(parent.firstChild){
+ dojo.destroy(parent.firstChild);
+ }
+ newEditor = this._createEditor(parent, {value: value}, true, false);
+ this._editors[type] = newEditor;
+ }
+ }else{
+ if(editor.declaredClass != "dijit.Editor"){
+ // Otherwise, we're switching to a html or xhtml type, but we currently have a textarea widget. We need
+ // to destroy the existing RTE and create a multiline textarea widget.
+ value = editor.attr('value');
+ editor.destroy();
+ while(parent.firstChild){
+ dojo.destroy(parent.firstChild);
+ }
+ newEditor = this._createEditor(parent, {value: value}, true, true);
+ newEditor = dojo.hitch(newEditor, newEditor.generateEditor)();
+ this._editors[type] = newEditor;
+ }
+ }
+ },
+
+ _createPeopleEditor: function(/*DOM node*/anchorNode, /*DOM node*/node){
+ // summary:
+ // Creates a People Editor widget and returns it.
+ // description:
+ // Creates a People Editor widget, sets its value, and returns it.
+ //
+ // anchorNode:
+ // The node to attach the editor to.
+ // node:
+ // An object containing the value to be put into the editor. Typically, this is an
+ // dojox.atom.io.model.Person object.
+ //
+ // returns: A new People Editor object.
+ var viewNode = document.createElement("div");
+ anchorNode.appendChild(viewNode);
+ return new dojox.atom.widget.PeopleEditor(node,viewNode);
+ },
+
+ saveEdits: function(){
+ // summary:
+ // Saves edits submitted when the 'save' button is pressed.
+ // description:
+ // Saves edits submitted when the 'save' button is pressed. Distinguishes between new and existing
+ // entries and saves appropriately. Fetches the values of the editors, and, if existing, compares them to
+ // the existing values and submits the updates, otherwise creates a new entry and posts it as a new entry.
+ //
+ // returns:
+ // Nothing.
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ dojo.style(this.entryEditButton, 'display', '');
+ dojo.style(this.entryNewButton, 'display', '');
+ var modifiedEntry = false;
+ var value;
+ var i;
+ var changed;
+ var entry;
+ var authors;
+ var contributors;
+ if(!this._new){
+ entry = this.getEntry();
+ if(this._editors.title && (this._editors.title.attr('value') != entry.title.value || this.entryTitleSelect.value != entry.title.type)){
+ value = this._editors.title.attr('value');
+ if(this.entryTitleSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.title = new dojox.atom.io.model.Content("title", value, null, this.entryTitleSelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.id.attr('value') != entry.id){
+ entry.id = this._editors.id.attr('value');
+ modifiedEntry = true;
+ }
+
+ if(this._editors.summary && (this._editors.summary.attr('value') != entry.summary.value || this.entrySummarySelect.value != entry.summary.type)){
+ value = this._editors.summary.attr('value');
+ if(this.entrySummarySelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.summary = new dojox.atom.io.model.Content("summary", value, null, this.entrySummarySelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.content && (this._editors.content.attr('value') != entry.content.value || this.entryContentSelect.value != entry.content.type)){
+ value = this._editors.content.attr('value');
+ if(this.entryContentSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ if(value.indexOf('<div xmlns="http://www.w3.org/1999/xhtml">') !== 0){
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ }
+ entry.content = new dojox.atom.io.model.Content("content", value, null, this.entryContentSelect.value);
+ modifiedEntry = true;
+ }
+
+ if(this._editors.authors){
+ if(modifiedEntry){
+ entry.authors = [];
+ authors = this._editors.authors.getValues();
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+ }else{
+ var currentAuthors = entry.authors;
+ var searchAuthors = function(name, email, uri){
+ for(i in currentAuthors){
+ if(currentAuthors[i].name === name && currentAuthors[i].email === email && currentAuthors[i].uri === uri){
+ return true;
+ }
+ }
+ return false;
+ };
+ authors = this._editors.authors.getValues();
+ changed = false;
+ for(i in authors){
+ if(!searchAuthors(authors[i].name, authors[i].email, authors[i].uri)){
+ changed = true;
+ break;
+ }
+ }
+ if(changed){
+ entry.authors = [];
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+ modifiedEntry = true;
+ }
+ }
+ }
+
+ if(this._editors.contributors){
+ if(modifiedEntry){
+ entry.contributors = [];
+ contributors = this._editors.contributors.getValues();
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addAuthor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+ }else{
+ var currentContributors = entry.contributors;
+ var searchContributors = function(name, email, uri){
+ for(i in currentContributors){
+ if(currentContributors[i].name === name && currentContributors[i].email === email && currentContributors[i].uri === uri){
+ return true;
+ }
+ }
+ return false;
+ };
+ contributors = this._editors.contributors.getValues();
+ changed = false;
+ for(i in contributors){
+ if(searchContributors(contributors[i].name, contributors[i].email, contributors[i].uri)){
+ changed = true;
+ break;
+ }
+ }
+ if(changed){
+ entry.contributors = [];
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addContributor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+ modifiedEntry = true;
+ }
+ }
+ }
+
+ if(modifiedEntry){
+ dojo.publish(this.entrySelectionTopic, [{action: "update", source: this, entry: entry, callback: this._handleSave }]);
+ //TODO: REMOVE BELOW
+ //var atomIO = new dojox.atom.io.Connection();
+ //atomIO.updateEntry(entry, dojo.hitch(this,this._handleSave));
+ //WARNING: Use above when testing with SimpleProxy (or any other servlet which
+ // doesn't actually create a new entry and return it properly)
+ //atomIO.updateEntry(entry, dojo.hitch(this,this._handleSave), true);
+ }
+ }else{
+ this._new = false;
+ entry = new dojox.atom.io.model.Entry();
+
+ value = this._editors.title.attr('value');
+ if(this.entryTitleSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.setTitle(value, this.entryTitleSelect.value);
+ entry.id = this._editors.id.attr('value');
+
+ authors = this._editors.authors.getValues();
+ for(i in authors){
+ if(authors[i].name || authors[i].email || authors[i].uri){
+ entry.addAuthor(authors[i].name, authors[i].email, authors[i].uri);
+ }
+ }
+
+ contributors = this._editors.contributors.getValues();
+ for(i in contributors){
+ if(contributors[i].name || contributors[i].email || contributors[i].uri){
+ entry.addContributor(contributors[i].name, contributors[i].email, contributors[i].uri);
+ }
+ }
+
+
+ value = this._editors.summary.attr('value');
+ if(this.entrySummarySelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.summary = new dojox.atom.io.model.Content("summary", value, null, this.entrySummarySelect.value);
+
+ value = this._editors.content.attr('value');
+ if(this.entryContentSelect.value === "xhtml"){
+ value = this._enforceXhtml(value);
+ value = '<div xmlns="http://www.w3.org/1999/xhtml">' + value + '</div>';
+ }
+ entry.content = new dojox.atom.io.model.Content("content", value, null, this.entryContentSelect.value);
+
+ dojo.style(this.entryNewButton, 'display', '');
+ dojo.publish(this.entrySelectionTopic, [{action: "post", source: this, entry: entry }]);
+ }
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.setEntry(entry, this._feed, true);
+ },
+
+ _handleSave: function(/*object*/entry, /*string*/location){
+ // summary:
+ // Function for handling the save of an entry, cleaning up the display after the edit is completed.
+ // description:
+ // Function for handling the save of an entry, cleaning up the display after the edit is completed.
+ //
+ // entry: dojox.atom.io.model.Entry object
+ // The entry that was saved.
+ // Location: String
+ // A URL to be used, not used here, but part of the call back from the AtomIO
+ // returns:
+ // Nothing.
+ //Close the editor and revert out.
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.clear();
+ this.setEntry(entry, this.getFeed(), true);
+ },
+
+ cancelEdits: function(){
+ // summary:
+ // Cancels edits and reverts the editor to its previous state (display mode)
+ // description:
+ // Cancels edits and reverts the editor to its previous state (display mode)
+ //
+ // returns:
+ // Nothing.
+ this._new = false;
+ dojo.style(this.entrySaveCancelButtons, 'display', 'none');
+ if(this._editable){
+ dojo.style(this.entryEditButton, 'display', '');
+ }
+ dojo.style(this.entryNewButton, 'display', '');
+ this._editMode = false;
+
+ //Rebuild the view using the same entry and feed.
+ this.clearEditors();
+ this.setEntry(this.getEntry(), this.getFeed(), true);
+ },
+
+ clear: function(){
+ // summary:
+ // Clears the editor, destorys all editors, leaving the editor completely clear
+ // description:
+ // Clears the editor, destorys all editors, leaving the editor completely clear
+ this._editable=false;
+ this.clearEditors();
+ dojox.atom.widget.FeedEntryEditor.superclass.clear.apply(this);
+ if(this._contentEditor){
+ // Note that the superclass clear destroys the widget since it's in the child widget list,
+ // so this is just ref clearing.
+ this._contentEditor = this._setObject = this._oldContent = this._contentEditorCreator = null;
+ this._editors = {};
+ }
+ },
+
+ clearEditors: function(){
+ for(var key in this._editors){
+ if(this._editors[key].declaredClass === "dijit.Editor"){
+ this._editors[key].close(false, true);
+ }
+ this._editors[key].destroy();
+ }
+ this._editors = {};
+ },
+
+ _enforceXhtml: function(/*string*/html){
+ // summary:
+ // Function for cleaning up/enforcing the XHTML standard in HTML returned from the editor2 widget.
+ // description:
+ // Function for cleaning up/enforcing the XHTML standard in HTML returned from the editor2 widget.
+ //
+ // html:
+ // HTML string to be enforced as xhtml.
+ //
+ // returns:
+ // string of cleaned up HTML.
+ var xhtml = null;
+ if(html){
+ //Handle <BR>
+ var brRegExp = /<br>/g;
+ xhtml = html.replace(brRegExp, "<br/>");
+
+ //Handle <HR>
+ xhtml = this._closeTag(xhtml, "hr");
+
+ //Handle <img>
+ xhtml = this._closeTag(xhtml, "img");
+ }
+ return xhtml;
+ },
+
+ _closeTag: function(/*string*/xhtml, /*string*/tag){
+ // summary:
+ // Function for closing tags in a text of HTML/XHTML
+ // description:
+ // Function for closing tags in a text of HTML/XHTML
+ //
+ // xhtml: String
+ // XHTML string which needs the closing tag.
+ // tag:
+ // The tag to close.
+ //
+ // returns: string of cleaned up HTML.
+ //
+ // NOTE: Probably should redo this function in a more efficient way. This could get expensive.
+ var tagStart = "<" + tag;
+ var tagIndex = xhtml.indexOf(tagStart);
+ if(tagIndex !== -1){
+ while (tagIndex !== -1){
+ var tempString = "";
+ var foundTagEnd = false;
+ for (var i = 0; i < xhtml.length; i++){
+ var c = xhtml.charAt(i);
+ if(i <= tagIndex ||foundTagEnd){
+ tempString += c;
+ }
+ else
+ {
+ if(c === '>'){
+ tempString += "/";
+ foundTagEnd = true;
+ }
+ tempString +=c;
+ }
+ }
+ xhtml = tempString;
+ tagIndex = xhtml.indexOf(tagStart, tagIndex + 1);
+ }
+ }
+ return xhtml;
+ },
+
+ _toggleNew: function(){
+ // summary:
+ // Function to put the editor into a state to create a new entry.
+ // description:
+ // Function to put the editor into a state to create a new entry.
+
+ // Hide the edit/new buttons and show the save/cancel buttons.
+ dojo.style(this.entryNewButton, 'display', 'none');
+ dojo.style(this.entryEditButton, 'display', 'none');
+ dojo.style(this.entrySaveCancelButtons, 'display', '');
+
+ // Reset the type select boxes to text.
+ this.entrySummarySelect.value = "text";
+ this.entryContentSelect.value = "text";
+ this.entryTitleSelect.value = "text";
+
+ // Clear all nodes.
+ this.clearNodes();
+ this._new = true;
+
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ // Create all headers and editors.
+ var titleHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.title});
+ this.entryTitleHeader.appendChild(titleHeader.domNode);
+
+ this._editors.title = this._createEditor(this.entryTitleNode, null);
+ this.setFieldValidity("title",true);
+
+ var authorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.authors});
+ this.entryAuthorHeader.appendChild(authorHeader.domNode);
+
+ this._editors.authors = this._createPeopleEditor(this.entryAuthorNode, {name: "Author"});
+ this.setFieldValidity("authors", true);
+
+ var contributorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.contributors});
+ this.entryContributorHeader.appendChild(contributorHeader.domNode);
+
+ this._editors.contributors = this._createPeopleEditor(this.entryContributorNode, {name: "Contributor"});
+ this.setFieldValidity("contributors", true);
+
+ var idHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.id});
+ this.entryIdHeader.appendChild(idHeader.domNode);
+
+ this._editors.id = this._createEditor(this.entryIdNode, null);
+ this.setFieldValidity("id",true);
+
+ var updatedHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.updated});
+ this.entryUpdatedHeader.appendChild(updatedHeader.domNode);
+
+ this._editors.updated = this._createEditor(this.entryUpdatedNode, null);
+ this.setFieldValidity("updated",true);
+
+ var summaryHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.summary});
+ this.entrySummaryHeader.appendChild(summaryHeader.domNode);
+
+ this._editors.summary = this._createEditor(this.entrySummaryNode, null, true);
+ this.setFieldValidity("summaryedit",true);
+ this.setFieldValidity("summary",true);
+
+ var contentHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.content});
+ this.entryContentHeader.appendChild(contentHeader.domNode);
+
+ this._editors.content = this._createEditor(this.entryContentNode, null, true);
+ this.setFieldValidity("contentedit",true);
+ this.setFieldValidity("content",true);
+
+ // Show the sections.
+ this._displaySections();
+ },
+
+ _displaySections: function(){
+ // summary: Function to display the appropriate sections based on validity.
+ // description: Function to display the appropriate sections based on validity.
+
+ // Hide select boxes.
+ dojo.style(this.entrySummarySelect, 'display', 'none');
+ dojo.style(this.entryContentSelect, 'display', 'none');
+ dojo.style(this.entryTitleSelect, 'display', 'none');
+
+ // Show select boxes if the flags are set.
+ if(this.isFieldValid("contentedit")){
+ dojo.style(this.entryContentSelect, 'display', '');
+ }
+ if(this.isFieldValid("summaryedit")){
+ dojo.style(this.entrySummarySelect, 'display', '');
+ }
+ if(this.isFieldValid("titleedit")){
+ dojo.style(this.entryTitleSelect, 'display', '');
+ }
+ // Call super's _displaySections.
+ dojox.atom.widget.FeedEntryEditor.superclass._displaySections.apply(this);
+
+ // If we have editors to load after the nodes are created on the page, execute those now.
+ if(this._toLoad){
+ for(var i in this._toLoad){
+ var editor;
+ if(this._toLoad[i].generateEditor){
+ editor = dojo.hitch(this._toLoad[i], this._toLoad[i].generateEditor)();
+ }else{
+ editor = this._toLoad[i];
+ }
+ this._editors[this._toLoad[i].name] = editor;
+ this._toLoad[i] = null;
+ }
+ this._toLoad = null;
+ }
+ }
+});
+
+dojo.declare("dojox.atom.widget.PeopleEditor",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An editor for dojox.atom.io.model.Person objects.
+ // description:
+ // An editor for dojox.atom.io.model.Person objects. Displays multiple rows for the respective arrays
+ // of people. Can add/remove rows on the fly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/PeopleEditor.html", "<div class=\"peopleEditor\">\r\n\t<table style=\"width: 100%\">\r\n\t\t<tbody dojoAttachPoint=\"peopleEditorEditors\"></tbody>\r\n\t</table>\r\n\t<span class=\"peopleEditorButton\" dojoAttachPoint=\"peopleEditorButton\" dojoAttachEvent=\"onclick:_add\"></span>\r\n</div>\r\n"),
+
+ _rows: [],
+ _editors: [],
+ _index: 0,
+ _numRows: 0,
+
+ postCreate: function(){
+ // Initializer function for the PeopleEditor widget.
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "PeopleEditor");
+ if(this.name){
+ if(this.name == "Author"){
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.addAuthor+"]"));
+ }else if(this.name == "Contributor"){
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.addContributor+"]"));
+ }
+ }else{
+ this.peopleEditorButton.appendChild(document.createTextNode("["+_nlsResources.add+"]"));
+ }
+ this._editors = [];
+
+ if(!this.data || this.data.length===0){
+ this._createEditors(null, null, null, 0, this.name);
+ this._index = 1;
+ }else{
+ for(var i in this.data){
+ this._createEditors(this.data[i].name, this.data[i].email, this.data[i].uri, i);
+ this._index++;
+ this._numRows++;
+ }
+ }
+ },
+
+ destroy: function(){
+ for(var key in this._editors){
+ for(var key2 in this._editors[key]){
+ this._editors[key][key2].destroy();
+ }
+ }
+ this._editors = [];
+ },
+
+ _createEditors: function(/*string*/name, /*string*/email, /*string*/uri, /*int*/index, /*string*/widgetName){
+ // summary:
+ // creates editor boxes (textbox widgets) for the individual values of a Person.
+ // description:
+ // creates editor boxes (textbox widgets) for the individual values of a Person.
+ //
+ // name:
+ // The name of this Person.
+ // email:
+ // The email of this Person.
+ // uri:
+ // The Person's URI.
+ // index:
+ // The row index to use for this Person.
+ var row = document.createElement("tr");
+ this.peopleEditorEditors.appendChild(row);
+ row.id = "removeRow"+index;
+
+ var node = document.createElement("td");
+ node.setAttribute('align', 'right');
+ row.appendChild(node);
+ node.colSpan = 2;
+
+ if(this._numRows>0){
+ var hr = document.createElement("hr");
+ node.appendChild(hr);
+ hr.id = "hr"+index;
+ }
+
+ row = document.createElement("span");
+ node.appendChild(row);
+ row.className = "peopleEditorButton";
+ dojo.style(row, 'font-size', 'x-small');
+ dojo.connect(row, "onclick", this, "_removeEditor");
+ row.id = "remove"+index;
+
+ node = document.createTextNode("[X]");
+ row.appendChild(node);
+
+ row = document.createElement("tr");
+ this.peopleEditorEditors.appendChild(row);
+ row.id = "editorsRow"+index;
+
+ var labelNode = document.createElement("td");
+ row.appendChild(labelNode);
+ dojo.style(labelNode, 'width', '20%');
+
+ node = document.createElement("td");
+ row.appendChild(node);
+
+ row = document.createElement("table");
+ labelNode.appendChild(row);
+ dojo.style(row, 'width', '100%');
+
+ labelNode = document.createElement("tbody");
+ row.appendChild(labelNode);
+
+ row = document.createElement("table");
+ node.appendChild(row);
+ dojo.style(row, 'width', '100%');
+
+ node = document.createElement("tbody");
+ row.appendChild(node);
+
+ this._editors[index] = [];
+ this._editors[index].push(this._createEditor(name, widgetName+'name'+index, 'Name:', labelNode, node));
+ this._editors[index].push(this._createEditor(email, widgetName+'email'+index, 'Email:', labelNode, node));
+ this._editors[index].push(this._createEditor(uri, widgetName+'uri'+index, 'URI:', labelNode, node));
+ },
+
+ _createEditor: function(/*string*/value, /*string*/id, /*string*/name, /*DOM node*/labelNode, /*DOM node*/node){
+ // summary:
+ // Creates an individual editor widget (textbox) for a value.
+ // description:
+ // Creates an individual editor widget (textbox) for a value.
+ //
+ // value:
+ // The initial value of the textbox
+ // id:
+ // The id the textbox should have.
+ // name:
+ // The text to put in the label element for this textbox.
+ // labelNode:
+ // The node to attach the label to.
+ // node:
+ // The node to attach the editor rows to.
+ //
+ // returns:
+ // Editor widget.
+ var row = document.createElement("tr");
+ labelNode.appendChild(row);
+
+ var label = document.createElement("label");
+ label.setAttribute('for', id);
+ label.appendChild(document.createTextNode(name));
+ labelNode = document.createElement("td");
+ labelNode.appendChild(label);
+ row.appendChild(labelNode);
+
+ row = document.createElement("tr");
+ node.appendChild(row);
+
+ node = document.createElement("td");
+ row.appendChild(node);
+
+ var viewNode = document.createElement("input");
+ viewNode.setAttribute('id', id);
+ node.appendChild(viewNode);
+ dojo.style(viewNode, 'width', '95%');
+
+ var box = new dijit.form.TextBox({},viewNode);
+ box.attr('value', value);
+ return box;
+ },
+
+ _removeEditor: function(/*object*/event){
+ // summary:
+ // Removes a Person from our list of editors.
+ // description:
+ // Removes a Person from our list of editors by removing the block of editors that
+ // make up that Person.
+ //
+ // event:
+ // The event generated when the remove button is pressed on the page.
+ var target = null;
+
+ if(dojo.isIE){
+ target = event.srcElement;
+ }else{
+ target = event.target;
+ }
+
+ var id = target.id;
+ id = id.substring(6);
+ for(var key in this._editors[id]){
+ this._editors[id][key].destroy();
+ }
+
+ var node = dojo.byId("editorsRow"+id);
+ var parent = node.parentNode;
+ parent.removeChild(node);
+
+ node = dojo.byId("removeRow"+id);
+ parent = node.parentNode;
+ parent.removeChild(node);
+
+ this._numRows--;
+ if(this._numRows === 1 && parent.firstChild.firstChild.firstChild.tagName.toLowerCase() === "hr"){
+ node = parent.firstChild.firstChild;
+ node.removeChild(node.firstChild);
+ }
+ this._editors[id] = null;
+ },
+
+ _add: function(){
+ // summary:
+ // Adds a new block of blank editors to represent a Person.
+ // description:
+ // Adds a new block of blank editors to represent a Person.
+ this._createEditors(null, null, null, this._index);
+ this._index++;
+ this._numRows++;
+ },
+
+ getValues: function(){
+ // summary:
+ // Gets the values of this editor in an array.
+ // description:
+ // Gets the values of this editor in an array, with each Person as an object within the array.
+ //
+ // returns:
+ // An array of anonymous objects representing dojox.atom.io.model.Persons.
+ var values = [];
+ for(var i in this._editors){
+ if(this._editors[i]){
+ values.push({name: this._editors[i][0].attr('value'), email: this._editors[i][1].attr('value'), uri: this._editors[i][2].attr('value')});
+ }
+ }
+ return values;
+ }
+});
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.js new file mode 100644 index 0000000..119a488 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.js @@ -0,0 +1,794 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.atom.widget.FeedEntryViewer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedEntryViewer"] = true;
+dojo.provide("dojox.atom.widget.FeedEntryViewer");
+
+dojo.require("dojo.fx");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dijit.layout.ContentPane");
+dojo.require("dojox.atom.io.Connection");
+dojo.requireLocalization("dojox.atom.widget", "FeedEntryViewer", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw");
+
+dojo.experimental("dojox.atom.widget.FeedEntryViewer");
+
+dojo.declare("dojox.atom.widget.FeedEntryViewer",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An ATOM feed entry editor for publishing updated ATOM entries, or viewing non-editable entries.
+ // description:
+ // An ATOM feed entry editor for publishing updated ATOM entries, or viewing non-editable entries.
+ entrySelectionTopic: "", //The topic to listen on for entries to edit.
+
+ _validEntryFields: {}, //The entry fields that were present on the entry and are being displayed.
+ //This works in conjuntion with what is selected to be displayed.
+ displayEntrySections: "", //What current sections of the entries to display as a comma separated list.
+ _displayEntrySections: null,
+
+ //Control options for the display options menu.
+ enableMenu: false,
+ enableMenuFade: false,
+ _optionButtonDisplayed: true,
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedEntryViewer.html", "<div class=\"feedEntryViewer\">\r\n <table border=\"0\" width=\"100%\" class=\"feedEntryViewerMenuTable\" dojoAttachPoint=\"feedEntryViewerMenu\" style=\"display: none;\">\r\n <tr width=\"100%\" dojoAttachPoint=\"entryCheckBoxDisplayOptions\">\r\n <td align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"displayOptions\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n </tr>\r\n <tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCelltitle\">\r\n <input type=\"checkbox\" name=\"title\" value=\"Title\" dojoAttachPoint=\"feedEntryCheckBoxTitle\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelTitle\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellauthors\">\r\n <input type=\"checkbox\" name=\"authors\" value=\"Authors\" dojoAttachPoint=\"feedEntryCheckBoxAuthors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelAuthors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontributors\">\r\n <input type=\"checkbox\" name=\"contributors\" value=\"Contributors\" dojoAttachPoint=\"feedEntryCheckBoxContributors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContributors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellid\">\r\n <input type=\"checkbox\" name=\"id\" value=\"Id\" dojoAttachPoint=\"feedEntryCheckBoxId\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelId\"></label>\r\n </td>\r\n <td rowspan=\"2\" align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"close\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n\t\t</tr>\r\n\t\t<tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow2\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCellupdated\">\r\n <input type=\"checkbox\" name=\"updated\" value=\"Updated\" dojoAttachPoint=\"feedEntryCheckBoxUpdated\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelUpdated\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellsummary\">\r\n <input type=\"checkbox\" name=\"summary\" value=\"Summary\" dojoAttachPoint=\"feedEntryCheckBoxSummary\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelSummary\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontent\">\r\n <input type=\"checkbox\" name=\"content\" value=\"Content\" dojoAttachPoint=\"feedEntryCheckBoxContent\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContent\"></label>\r\n </td>\r\n </tr>\r\n </table>\r\n \r\n <table class=\"feedEntryViewerContainer\" border=\"0\" width=\"100%\">\r\n <tr class=\"feedEntryViewerTitle\" dojoAttachPoint=\"entryTitleRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryTitleHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryTitleNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerAuthor\" dojoAttachPoint=\"entryAuthorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryAuthorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryAuthorNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerContributor\" dojoAttachPoint=\"entryContributorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContributorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContributorNode\" class=\"feedEntryViewerContributorNames\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerId\" dojoAttachPoint=\"entryIdRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryIdHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryIdNode\" class=\"feedEntryViewerIdText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerUpdated\" dojoAttachPoint=\"entryUpdatedRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryUpdatedHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryUpdatedNode\" class=\"feedEntryViewerUpdatedText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerSummary\" dojoAttachPoint=\"entrySummaryRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entrySummaryHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entrySummaryNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerContent\" dojoAttachPoint=\"entryContentRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContentHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContentNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n"),
+
+ _entry: null, //The entry that is being viewed/edited.
+ _feed: null, //The feed the entry came from.
+
+ _editMode: false, //Flag denoting the state of the widget, in edit mode or not.
+
+ postCreate: function(){
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ this.displayOptions.innerHTML = _nlsResources.displayOptions;
+ this.feedEntryCheckBoxLabelTitle.innerHTML = _nlsResources.title;
+ this.feedEntryCheckBoxLabelAuthors.innerHTML = _nlsResources.authors;
+ this.feedEntryCheckBoxLabelContributors.innerHTML = _nlsResources.contributors;
+ this.feedEntryCheckBoxLabelId.innerHTML = _nlsResources.id;
+ this.close.innerHTML = _nlsResources.close;
+ this.feedEntryCheckBoxLabelUpdated.innerHTML = _nlsResources.updated;
+ this.feedEntryCheckBoxLabelSummary.innerHTML = _nlsResources.summary;
+ this.feedEntryCheckBoxLabelContent.innerHTML = _nlsResources.content;
+ },
+
+ startup: function(){
+ if(this.displayEntrySections === ""){
+ this._displayEntrySections = ["title","authors","contributors","summary","content","id","updated"];
+ }else{
+ this._displayEntrySections = this.displayEntrySections.split(",");
+ }
+ this._setDisplaySectionsCheckboxes();
+
+ if(this.enableMenu){
+ dojo.style(this.feedEntryViewerMenu, 'display', '');
+ if(this.entryCheckBoxRow && this.entryCheckBoxRow2){
+ if(this.enableMenuFade){
+ dojo.fadeOut({node: this.entryCheckBoxRow,duration: 250}).play();
+ dojo.fadeOut({node: this.entryCheckBoxRow2,duration: 250}).play();
+ }
+ }
+ }
+ },
+
+ clear: function(){
+ // summary:
+ // Function to clear the state of the widget.
+ // description:
+ // Function to clear the state of the widget.
+ this.destroyDescendants();
+ this._entry=null;
+ this._feed=null;
+ this.clearNodes();
+ },
+
+ clearNodes: function(){
+ // summary:
+ // Function to clear all the display nodes for the ATOM entry from the viewer.
+ // description:
+ // Function to clear all the display nodes for the ATOM entry from the viewer.
+
+ dojo.forEach([
+ "entryTitleRow", "entryAuthorRow", "entryContributorRow", "entrySummaryRow", "entryContentRow",
+ "entryIdRow", "entryUpdatedRow"
+ ], function(node){
+ dojo.style(this[node], "display", "none");
+ }, this);
+
+ dojo.forEach([
+ "entryTitleNode", "entryTitleHeader", "entryAuthorHeader", "entryContributorHeader",
+ "entryContributorNode", "entrySummaryHeader", "entrySummaryNode", "entryContentHeader",
+ "entryContentNode", "entryIdNode", "entryIdHeader", "entryUpdatedHeader", "entryUpdatedNode"
+ ], function(part){
+ while(this[part].firstChild){
+ dojo.destroy(this[part].firstChild);
+ }
+ }
+ ,this);
+
+ },
+
+ setEntry: function(/*object*/entry, /*object*/feed, /*boolean*/leaveMenuState){
+ // summary:
+ // Function to set the current entry that is being edited.
+ // description:
+ // Function to set the current entry that is being edited.
+ //
+ // entry:
+ // Instance of dojox.atom.io.model.Entry to display for reading/editing.
+ this.clear();
+ this._validEntryFields = {};
+ this._entry = entry;
+ this._feed = feed;
+
+ if(entry !== null){
+ // Handle the title.
+ if(this.entryTitleHeader){
+ this.setTitleHeader(this.entryTitleHeader, entry);
+ }
+
+ if(this.entryTitleNode){
+ this.setTitle(this.entryTitleNode, this._editMode, entry);
+ }
+
+ if(this.entryAuthorHeader){
+ this.setAuthorsHeader(this.entryAuthorHeader, entry);
+ }
+
+ if(this.entryAuthorNode){
+ this.setAuthors(this.entryAuthorNode, this._editMode, entry);
+ }
+
+ if(this.entryContributorHeader){
+ this.setContributorsHeader(this.entryContributorHeader, entry);
+ }
+
+ if(this.entryContributorNode){
+ this.setContributors(this.entryContributorNode, this._editMode, entry);
+ }
+
+ if(this.entryIdHeader){
+ this.setIdHeader(this.entryIdHeader, entry);
+ }
+
+ if(this.entryIdNode){
+ this.setId(this.entryIdNode, this._editMode, entry);
+ }
+
+ if(this.entryUpdatedHeader){
+ this.setUpdatedHeader(this.entryUpdatedHeader, entry);
+ }
+
+ if(this.entryUpdatedNode){
+ this.setUpdated(this.entryUpdatedNode, this._editMode, entry);
+ }
+
+ if(this.entrySummaryHeader){
+ this.setSummaryHeader(this.entrySummaryHeader, entry);
+ }
+
+ if(this.entrySummaryNode){
+ this.setSummary(this.entrySummaryNode, this._editMode, entry);
+ }
+
+ if(this.entryContentHeader){
+ this.setContentHeader(this.entryContentHeader, entry);
+ }
+
+ if(this.entryContentNode){
+ this.setContent(this.entryContentNode, this._editMode, entry);
+ }
+ }
+ this._displaySections();
+ },
+
+ setTitleHeader: function(/*DOM node*/titleHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the title header node in the template to some value.
+ // description:
+ // Function to set the contents of the title header node in the template to some value.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ //
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var titleHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.title});
+ titleHeaderNode.appendChild(titleHeader.domNode);
+ }
+ },
+
+ setTitle: function(titleAnchorNode, editMode, entry){
+ // summary:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ if(entry.title.type == "text"){
+ var titleNode = document.createTextNode(entry.title.value);
+ titleAnchorNode.appendChild(titleNode);
+ }else{
+ var titleViewNode = document.createElement("span");
+ var titleView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false}, titleViewNode);
+ titleView.attr('content', entry.title.value);
+ titleAnchorNode.appendChild(titleView.domNode);
+ }
+ this.setFieldValidity("title", true);
+ }
+ },
+
+ setAuthorsHeader: function(/*DOM node*/authorHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the title format for the authors section of the author row in the template to some value from the entry.
+ // description:
+ // Function to set the title format for the authors section of the author row in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the author data is filled out from an entry.
+ //
+ // authorHeaderNode:
+ // The DOM node to attach the author section header data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.authors && entry.authors.length > 0){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var authorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.authors});
+ authorHeaderNode.appendChild(authorHeader.domNode);
+ }
+ },
+
+ setAuthors: function(/*DOM node*/authorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // authorsAchorNode:
+ // The DOM node to attach the author data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ authorsAnchorNode.innerHTML = "";
+ if(entry.authors && entry.authors.length > 0){
+ for(var i in entry.authors){
+ if(entry.authors[i].name){
+ var anchor = authorsAnchorNode;
+ if(entry.authors[i].uri){
+ var link = document.createElement("a");
+ anchor.appendChild(link);
+ link.href = entry.authors[i].uri;
+ anchor = link;
+ }
+ var name = entry.authors[i].name;
+ if(entry.authors[i].email){
+ name = name + " (" + entry.authors[i].email + ")";
+ }
+ var authorNode = document.createTextNode(name);
+ anchor.appendChild(authorNode);
+ var breakNode = document.createElement("br");
+ authorsAnchorNode.appendChild(breakNode);
+ this.setFieldValidity("authors", true);
+ }
+ }
+ }
+ },
+
+ setContributorsHeader: function(/*DOM node*/contributorsHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor header node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor header node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsHeaderNode:
+ // The DOM node to attach the contributor title to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.contributors && entry.contributors.length > 0){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var contributorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.contributors});
+ contributorsHeaderNode.appendChild(contributorHeader.domNode);
+ }
+ },
+
+
+ setContributors: function(/*DOM node*/contributorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsAnchorNode:
+ // The DOM node to attach the contributor data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.contributors && entry.contributors.length > 0){
+ for(var i in entry.contributors){
+ var contributorNode = document.createTextNode(entry.contributors[i].name);
+ contributorsAnchorNode.appendChild(contributorNode);
+ var breakNode = document.createElement("br");
+ contributorsAnchorNode.appendChild(breakNode);
+ this.setFieldValidity("contributors", true);
+ }
+ }
+ },
+
+
+ setIdHeader: function(/*DOM node*/idHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.id && entry.id !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var idHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.id});
+ idHeaderNode.appendChild(idHeader.domNode);
+ }
+ },
+
+
+ setId: function(/*DOM node*/idAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.id && entry.id !== null){
+ var idNode = document.createTextNode(entry.id);
+ idAnchorNode.appendChild(idNode);
+ this.setFieldValidity("id", true);
+ }
+ },
+
+ setUpdatedHeader: function(/*DOM node*/updatedHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated header node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated header node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedHeaderNode:
+ // The DOM node to attach the updated header data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.updated && entry.updated !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var updatedHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.updated});
+ updatedHeaderNode.appendChild(updatedHeader.domNode);
+ }
+ },
+
+ setUpdated: function(/*DOM node*/updatedAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedAnchorNode:
+ // The DOM node to attach the udpated data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.updated && entry.updated !== null){
+ var updatedNode = document.createTextNode(entry.updated);
+ updatedAnchorNode.appendChild(updatedNode);
+ this.setFieldValidity("updated", true);
+ }
+ },
+
+ setSummaryHeader: function(/*DOM node*/summaryHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryHeaderNode:
+ // The DOM node to attach the summary title to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var summaryHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.summary});
+ summaryHeaderNode.appendChild(summaryHeader.domNode);
+ }
+ },
+
+
+ setSummary: function(/*DOM node*/summaryAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the summary data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ var summaryViewNode = document.createElement("span");
+ var summaryView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false}, summaryViewNode);
+ summaryView.attr('content', entry.summary.value);
+ summaryAnchorNode.appendChild(summaryView.domNode);
+ this.setFieldValidity("summary", true);
+ }
+ },
+
+ setContentHeader: function(/*DOM node*/contentHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contentHeaderNode:
+ // The DOM node to attach the content data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var contentHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.content});
+ contentHeaderNode.appendChild(contentHeader.domNode);
+ }
+ },
+
+ setContent: function(/*DOM node*/contentAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contentAnchorNode:
+ // The DOM node to attach the content data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ var contentViewNode = document.createElement("span");
+ var contentView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false},contentViewNode);
+ contentView.attr('content', entry.content.value);
+ contentAnchorNode.appendChild(contentView.domNode);
+ this.setFieldValidity("content", true);
+ }
+ },
+
+
+ _displaySections: function(){
+ // summary:
+ // Internal function for determining which sections of the view to actually display.
+ // description:
+ // Internal function for determining which sections of the view to actually display.
+ //
+ // returns:
+ // Nothing.
+ dojo.style(this.entryTitleRow, 'display', 'none');
+ dojo.style(this.entryAuthorRow, 'display', 'none');
+ dojo.style(this.entryContributorRow, 'display', 'none');
+ dojo.style(this.entrySummaryRow, 'display', 'none');
+ dojo.style(this.entryContentRow, 'display', 'none');
+ dojo.style(this.entryIdRow, 'display', 'none');
+ dojo.style(this.entryUpdatedRow, 'display', 'none');
+
+ for(var i in this._displayEntrySections){
+ var section = this._displayEntrySections[i].toLowerCase();
+ if(section === "title" && this.isFieldValid("title")){
+ dojo.style(this.entryTitleRow, 'display', '');
+ }
+ if(section === "authors" && this.isFieldValid("authors")){
+ dojo.style(this.entryAuthorRow, 'display', '');
+ }
+ if(section === "contributors" && this.isFieldValid("contributors")){
+ dojo.style(this.entryContributorRow, 'display', '');
+ }
+ if(section === "summary" && this.isFieldValid("summary")){
+ dojo.style(this.entrySummaryRow, 'display', '');
+ }
+ if(section === "content" && this.isFieldValid("content")){
+ dojo.style(this.entryContentRow, 'display', '');
+ }
+ if(section === "id" && this.isFieldValid("id")){
+ dojo.style(this.entryIdRow, 'display', '');
+ }
+ if(section === "updated" && this.isFieldValid("updated")){
+ dojo.style(this.entryUpdatedRow, 'display', '');
+ }
+
+ }
+ },
+
+ setDisplaySections: function(/*array*/sectionsArray){
+ // summary:
+ // Function for setting which sections of the entry should be displayed.
+ // description:
+ // Function for setting which sections of the entry should be displayed.
+ //
+ // sectionsArray:
+ // Array of string names that indicate which sections to display.
+ //
+ // returns:
+ // Nothing.
+ if(sectionsArray !== null){
+ this._displayEntrySections = sectionsArray;
+ this._displaySections();
+ }else{
+ this._displayEntrySections = ["title","authors","contributors","summary","content","id","updated"];
+ }
+ },
+
+ _setDisplaySectionsCheckboxes: function(){
+ // summary:
+ // Internal function for setting which checkboxes on the display are selected.
+ // description:
+ // Internal function for setting which checkboxes on the display are selected.
+ //
+ // returns:
+ // Nothing.
+ var items = ["title","authors","contributors","summary","content","id","updated"];
+ for(var i in items){
+ if(dojo.indexOf(this._displayEntrySections, items[i]) == -1){
+ dojo.style(this["feedEntryCell"+items[i]], 'display', 'none');
+ }else{
+ this["feedEntryCheckBox"+items[i].substring(0,1).toUpperCase()+items[i].substring(1)].checked=true;
+ }
+ }
+ },
+
+ _readDisplaySections: function(){
+ // summary:
+ // Internal function for reading what is currently checked for display and generating the display list from it.
+ // description:
+ // Internal function for reading what is currently checked for display and generating the display list from it.
+ //
+ // returns:
+ // Nothing.
+ var checkedList = [];
+
+ if(this.feedEntryCheckBoxTitle.checked){
+ checkedList.push("title");
+ }
+ if(this.feedEntryCheckBoxAuthors.checked){
+ checkedList.push("authors");
+ }
+ if(this.feedEntryCheckBoxContributors.checked){
+ checkedList.push("contributors");
+ }
+ if(this.feedEntryCheckBoxSummary.checked){
+ checkedList.push("summary");
+ }
+ if(this.feedEntryCheckBoxContent.checked){
+ checkedList.push("content");
+ }
+ if(this.feedEntryCheckBoxId.checked){
+ checkedList.push("id");
+ }
+ if(this.feedEntryCheckBoxUpdated.checked){
+ checkedList.push("updated");
+ }
+ this._displayEntrySections = checkedList;
+ },
+
+ _toggleCheckbox: function(/*object*/checkBox){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // checkBox:
+ // The checkbox object to toggle the selection on.
+ //
+ // returns:
+ // Nothing
+ if(checkBox.checked){
+ checkBox.checked=false;
+ }else{
+ checkBox.checked=true;
+ }
+ this._readDisplaySections();
+ this._displaySections();
+ },
+
+ _toggleOptions: function(/*object*/checkBox){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // checkBox:
+ // The checkbox object to toggle the selection on.
+ //
+ // returns:
+ // Nothing
+ if(this.enableMenu){
+ var fade = null;
+ var anim;
+ var anim2;
+ if(this._optionButtonDisplayed){
+ if(this.enableMenuFade){
+ anim = dojo.fadeOut({node: this.entryCheckBoxDisplayOptions,duration: 250});
+ dojo.connect(anim, "onEnd", this, function(){
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow, 'display', '');
+ dojo.style(this.entryCheckBoxRow2, 'display', '');
+ dojo.fadeIn({node: this.entryCheckBoxRow, duration: 250}).play();
+ dojo.fadeIn({node: this.entryCheckBoxRow2, duration: 250}).play();
+ });
+ anim.play();
+ }else{
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow, 'display', '');
+ dojo.style(this.entryCheckBoxRow2, 'display', '');
+ }
+ this._optionButtonDisplayed=false;
+ }else{
+ if(this.enableMenuFade){
+ anim = dojo.fadeOut({node: this.entryCheckBoxRow,duration: 250});
+ anim2 = dojo.fadeOut({node: this.entryCheckBoxRow2,duration: 250});
+ dojo.connect(anim, "onEnd", this, function(){
+ dojo.style(this.entryCheckBoxRow, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow2, 'display', 'none');
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', '');
+ dojo.fadeIn({node: this.entryCheckBoxDisplayOptions, duration: 250}).play();
+ });
+ anim.play();
+ anim2.play();
+ }else{
+ dojo.style(this.entryCheckBoxRow, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow2, 'display', 'none');
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', '');
+ }
+ this._optionButtonDisplayed=true;
+ }
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent){
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this){
+ if(entrySelectionEvent.action == "set" && entrySelectionEvent.entry){
+ this.setEntry(entrySelectionEvent.entry, entrySelectionEvent.feed);
+ }else if(entrySelectionEvent.action == "delete" && entrySelectionEvent.entry && entrySelectionEvent.entry == this._entry){
+ this.clear();
+ }
+ }
+ },
+
+ setFieldValidity: function(/*string*/field, /*boolean*/isValid){
+ // summary:
+ // Function to set whether a field in the view is valid and displayable.
+ // description:
+ // Function to set whether a field in the view is valid and displayable.
+ // This is needed for over-riding of the set* functions and customization of how data is displayed in the attach point.
+ // So if custom implementations use their own display logic, they can still enable the field.
+ //
+ // field:
+ // The field name to set the valid parameter on. Such as 'content', 'id', etc.
+ // isValid:
+ // Flag denoting if the field is valid or not.
+ //
+ // returns:
+ // Nothing.
+ if(field){
+ var lowerField = field.toLowerCase();
+ this._validEntryFields[field] = isValid;
+ }
+ },
+
+ isFieldValid: function(/*string*/field){
+ // summary:
+ // Function to return if a displayable field is valid or not
+ // description:
+ // Function to return if a displayable field is valid or not
+ //
+ // field:
+ // The field name to get the valid parameter of. Such as 'content', 'id', etc.
+ //
+ // returns:
+ // boolean denoting if the field is valid and set.
+ return this._validEntryFields[field.toLowerCase()];
+ },
+
+ getEntry: function(){
+ return this._entry;
+ },
+
+ getFeed: function(){
+ return this._feed;
+ },
+
+ destroy: function(){
+ this.clear();
+ dojo.forEach(this._subscriptions, dojo.unsubscribe);
+ }
+});
+
+dojo.declare("dojox.atom.widget.EntryHeader",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // Widget representing a header in a FeedEntryViewer/Editor
+ // description:
+ // Widget representing a header in a FeedEntryViewer/Editor
+ title: "",
+ templateString: dojo.cache("dojox.atom", "widget/templates/EntryHeader.html", "<span dojoAttachPoint=\"entryHeaderNode\" class=\"entryHeaderNode\"></span>\r\n"),
+
+ postCreate: function(){
+ this.setListHeader();
+ },
+
+ setListHeader: function(/*string*/title){
+ this.clear();
+ if(title){
+ this.title = title;
+ }
+ var textNode = document.createTextNode(this.title);
+ this.entryHeaderNode.appendChild(textNode);
+ },
+
+ clear: function(){
+ this.destroyDescendants();
+ if(this.entryHeaderNode){
+ for(var i = 0; i < this.entryHeaderNode.childNodes.length; i++){
+ this.entryHeaderNode.removeChild(this.entryHeaderNode.childNodes[i]);
+ }
+ }
+ },
+
+ destroy: function(){
+ this.clear();
+ }
+});
+
+}
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.xd.js new file mode 100644 index 0000000..d268b65 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedEntryViewer.xd.js @@ -0,0 +1,805 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.atom.widget.FeedEntryViewer"],
+["require", "dojo.fx"],
+["require", "dijit._Widget"],
+["require", "dijit._Templated"],
+["require", "dijit._Container"],
+["require", "dijit.layout.ContentPane"],
+["require", "dojox.atom.io.Connection"],
+["requireLocalization", "dojox.atom.widget", "FeedEntryViewer", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw", "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.atom.widget.FeedEntryViewer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedEntryViewer"] = true;
+dojo.provide("dojox.atom.widget.FeedEntryViewer");
+
+dojo.require("dojo.fx");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dijit.layout.ContentPane");
+dojo.require("dojox.atom.io.Connection");
+;
+
+dojo.experimental("dojox.atom.widget.FeedEntryViewer");
+
+dojo.declare("dojox.atom.widget.FeedEntryViewer",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An ATOM feed entry editor for publishing updated ATOM entries, or viewing non-editable entries.
+ // description:
+ // An ATOM feed entry editor for publishing updated ATOM entries, or viewing non-editable entries.
+ entrySelectionTopic: "", //The topic to listen on for entries to edit.
+
+ _validEntryFields: {}, //The entry fields that were present on the entry and are being displayed.
+ //This works in conjuntion with what is selected to be displayed.
+ displayEntrySections: "", //What current sections of the entries to display as a comma separated list.
+ _displayEntrySections: null,
+
+ //Control options for the display options menu.
+ enableMenu: false,
+ enableMenuFade: false,
+ _optionButtonDisplayed: true,
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedEntryViewer.html", "<div class=\"feedEntryViewer\">\r\n <table border=\"0\" width=\"100%\" class=\"feedEntryViewerMenuTable\" dojoAttachPoint=\"feedEntryViewerMenu\" style=\"display: none;\">\r\n <tr width=\"100%\" dojoAttachPoint=\"entryCheckBoxDisplayOptions\">\r\n <td align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"displayOptions\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n </tr>\r\n <tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCelltitle\">\r\n <input type=\"checkbox\" name=\"title\" value=\"Title\" dojoAttachPoint=\"feedEntryCheckBoxTitle\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelTitle\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellauthors\">\r\n <input type=\"checkbox\" name=\"authors\" value=\"Authors\" dojoAttachPoint=\"feedEntryCheckBoxAuthors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelAuthors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontributors\">\r\n <input type=\"checkbox\" name=\"contributors\" value=\"Contributors\" dojoAttachPoint=\"feedEntryCheckBoxContributors\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContributors\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellid\">\r\n <input type=\"checkbox\" name=\"id\" value=\"Id\" dojoAttachPoint=\"feedEntryCheckBoxId\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelId\"></label>\r\n </td>\r\n <td rowspan=\"2\" align=\"right\">\r\n <span class=\"feedEntryViewerMenu\" dojoAttachPoint=\"close\" dojoAttachEvent=\"onclick:_toggleOptions\"></span>\r\n </td>\r\n\t\t</tr>\r\n\t\t<tr class=\"feedEntryViewerDisplayCheckbox\" dojoAttachPoint=\"entryCheckBoxRow2\" width=\"100%\" style=\"display: none;\">\r\n <td dojoAttachPoint=\"feedEntryCellupdated\">\r\n <input type=\"checkbox\" name=\"updated\" value=\"Updated\" dojoAttachPoint=\"feedEntryCheckBoxUpdated\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelUpdated\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellsummary\">\r\n <input type=\"checkbox\" name=\"summary\" value=\"Summary\" dojoAttachPoint=\"feedEntryCheckBoxSummary\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelSummary\"></label>\r\n </td>\r\n <td dojoAttachPoint=\"feedEntryCellcontent\">\r\n <input type=\"checkbox\" name=\"content\" value=\"Content\" dojoAttachPoint=\"feedEntryCheckBoxContent\" dojoAttachEvent=\"onclick:_toggleCheckbox\"/>\r\n\t\t\t\t<label for=\"title\" dojoAttachPoint=\"feedEntryCheckBoxLabelContent\"></label>\r\n </td>\r\n </tr>\r\n </table>\r\n \r\n <table class=\"feedEntryViewerContainer\" border=\"0\" width=\"100%\">\r\n <tr class=\"feedEntryViewerTitle\" dojoAttachPoint=\"entryTitleRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryTitleHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryTitleNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerAuthor\" dojoAttachPoint=\"entryAuthorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryAuthorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryAuthorNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n\r\n <tr class=\"feedEntryViewerContributor\" dojoAttachPoint=\"entryContributorRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContributorHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContributorNode\" class=\"feedEntryViewerContributorNames\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerId\" dojoAttachPoint=\"entryIdRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryIdHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryIdNode\" class=\"feedEntryViewerIdText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerUpdated\" dojoAttachPoint=\"entryUpdatedRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryUpdatedHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryUpdatedNode\" class=\"feedEntryViewerUpdatedText\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerSummary\" dojoAttachPoint=\"entrySummaryRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entrySummaryHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entrySummaryNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n \r\n <tr class=\"feedEntryViewerContent\" dojoAttachPoint=\"entryContentRow\" style=\"display: none;\">\r\n <td>\r\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n <tr class=\"graphic-tab-lgray\">\r\n\t\t\t\t\t\t<td class=\"lp2\">\r\n\t\t\t\t\t\t\t<span class=\"lp\" dojoAttachPoint=\"entryContentHeader\"></span>\r\n\t\t\t\t\t\t</td>\r\n </tr>\r\n <tr>\r\n <td dojoAttachPoint=\"entryContentNode\">\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n"),
+
+ _entry: null, //The entry that is being viewed/edited.
+ _feed: null, //The feed the entry came from.
+
+ _editMode: false, //Flag denoting the state of the widget, in edit mode or not.
+
+ postCreate: function(){
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ this.displayOptions.innerHTML = _nlsResources.displayOptions;
+ this.feedEntryCheckBoxLabelTitle.innerHTML = _nlsResources.title;
+ this.feedEntryCheckBoxLabelAuthors.innerHTML = _nlsResources.authors;
+ this.feedEntryCheckBoxLabelContributors.innerHTML = _nlsResources.contributors;
+ this.feedEntryCheckBoxLabelId.innerHTML = _nlsResources.id;
+ this.close.innerHTML = _nlsResources.close;
+ this.feedEntryCheckBoxLabelUpdated.innerHTML = _nlsResources.updated;
+ this.feedEntryCheckBoxLabelSummary.innerHTML = _nlsResources.summary;
+ this.feedEntryCheckBoxLabelContent.innerHTML = _nlsResources.content;
+ },
+
+ startup: function(){
+ if(this.displayEntrySections === ""){
+ this._displayEntrySections = ["title","authors","contributors","summary","content","id","updated"];
+ }else{
+ this._displayEntrySections = this.displayEntrySections.split(",");
+ }
+ this._setDisplaySectionsCheckboxes();
+
+ if(this.enableMenu){
+ dojo.style(this.feedEntryViewerMenu, 'display', '');
+ if(this.entryCheckBoxRow && this.entryCheckBoxRow2){
+ if(this.enableMenuFade){
+ dojo.fadeOut({node: this.entryCheckBoxRow,duration: 250}).play();
+ dojo.fadeOut({node: this.entryCheckBoxRow2,duration: 250}).play();
+ }
+ }
+ }
+ },
+
+ clear: function(){
+ // summary:
+ // Function to clear the state of the widget.
+ // description:
+ // Function to clear the state of the widget.
+ this.destroyDescendants();
+ this._entry=null;
+ this._feed=null;
+ this.clearNodes();
+ },
+
+ clearNodes: function(){
+ // summary:
+ // Function to clear all the display nodes for the ATOM entry from the viewer.
+ // description:
+ // Function to clear all the display nodes for the ATOM entry from the viewer.
+
+ dojo.forEach([
+ "entryTitleRow", "entryAuthorRow", "entryContributorRow", "entrySummaryRow", "entryContentRow",
+ "entryIdRow", "entryUpdatedRow"
+ ], function(node){
+ dojo.style(this[node], "display", "none");
+ }, this);
+
+ dojo.forEach([
+ "entryTitleNode", "entryTitleHeader", "entryAuthorHeader", "entryContributorHeader",
+ "entryContributorNode", "entrySummaryHeader", "entrySummaryNode", "entryContentHeader",
+ "entryContentNode", "entryIdNode", "entryIdHeader", "entryUpdatedHeader", "entryUpdatedNode"
+ ], function(part){
+ while(this[part].firstChild){
+ dojo.destroy(this[part].firstChild);
+ }
+ }
+ ,this);
+
+ },
+
+ setEntry: function(/*object*/entry, /*object*/feed, /*boolean*/leaveMenuState){
+ // summary:
+ // Function to set the current entry that is being edited.
+ // description:
+ // Function to set the current entry that is being edited.
+ //
+ // entry:
+ // Instance of dojox.atom.io.model.Entry to display for reading/editing.
+ this.clear();
+ this._validEntryFields = {};
+ this._entry = entry;
+ this._feed = feed;
+
+ if(entry !== null){
+ // Handle the title.
+ if(this.entryTitleHeader){
+ this.setTitleHeader(this.entryTitleHeader, entry);
+ }
+
+ if(this.entryTitleNode){
+ this.setTitle(this.entryTitleNode, this._editMode, entry);
+ }
+
+ if(this.entryAuthorHeader){
+ this.setAuthorsHeader(this.entryAuthorHeader, entry);
+ }
+
+ if(this.entryAuthorNode){
+ this.setAuthors(this.entryAuthorNode, this._editMode, entry);
+ }
+
+ if(this.entryContributorHeader){
+ this.setContributorsHeader(this.entryContributorHeader, entry);
+ }
+
+ if(this.entryContributorNode){
+ this.setContributors(this.entryContributorNode, this._editMode, entry);
+ }
+
+ if(this.entryIdHeader){
+ this.setIdHeader(this.entryIdHeader, entry);
+ }
+
+ if(this.entryIdNode){
+ this.setId(this.entryIdNode, this._editMode, entry);
+ }
+
+ if(this.entryUpdatedHeader){
+ this.setUpdatedHeader(this.entryUpdatedHeader, entry);
+ }
+
+ if(this.entryUpdatedNode){
+ this.setUpdated(this.entryUpdatedNode, this._editMode, entry);
+ }
+
+ if(this.entrySummaryHeader){
+ this.setSummaryHeader(this.entrySummaryHeader, entry);
+ }
+
+ if(this.entrySummaryNode){
+ this.setSummary(this.entrySummaryNode, this._editMode, entry);
+ }
+
+ if(this.entryContentHeader){
+ this.setContentHeader(this.entryContentHeader, entry);
+ }
+
+ if(this.entryContentNode){
+ this.setContent(this.entryContentNode, this._editMode, entry);
+ }
+ }
+ this._displaySections();
+ },
+
+ setTitleHeader: function(/*DOM node*/titleHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the title header node in the template to some value.
+ // description:
+ // Function to set the contents of the title header node in the template to some value.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ //
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var titleHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.title});
+ titleHeaderNode.appendChild(titleHeader.domNode);
+ }
+ },
+
+ setTitle: function(titleAnchorNode, editMode, entry){
+ // summary:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the title node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // titleAchorNode:
+ // The DOM node to attach the title data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.title && entry.title.value && entry.title.value !== null){
+ if(entry.title.type == "text"){
+ var titleNode = document.createTextNode(entry.title.value);
+ titleAnchorNode.appendChild(titleNode);
+ }else{
+ var titleViewNode = document.createElement("span");
+ var titleView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false}, titleViewNode);
+ titleView.attr('content', entry.title.value);
+ titleAnchorNode.appendChild(titleView.domNode);
+ }
+ this.setFieldValidity("title", true);
+ }
+ },
+
+ setAuthorsHeader: function(/*DOM node*/authorHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the title format for the authors section of the author row in the template to some value from the entry.
+ // description:
+ // Function to set the title format for the authors section of the author row in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the author data is filled out from an entry.
+ //
+ // authorHeaderNode:
+ // The DOM node to attach the author section header data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.authors && entry.authors.length > 0){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var authorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.authors});
+ authorHeaderNode.appendChild(authorHeader.domNode);
+ }
+ },
+
+ setAuthors: function(/*DOM node*/authorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the author node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // authorsAchorNode:
+ // The DOM node to attach the author data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ authorsAnchorNode.innerHTML = "";
+ if(entry.authors && entry.authors.length > 0){
+ for(var i in entry.authors){
+ if(entry.authors[i].name){
+ var anchor = authorsAnchorNode;
+ if(entry.authors[i].uri){
+ var link = document.createElement("a");
+ anchor.appendChild(link);
+ link.href = entry.authors[i].uri;
+ anchor = link;
+ }
+ var name = entry.authors[i].name;
+ if(entry.authors[i].email){
+ name = name + " (" + entry.authors[i].email + ")";
+ }
+ var authorNode = document.createTextNode(name);
+ anchor.appendChild(authorNode);
+ var breakNode = document.createElement("br");
+ authorsAnchorNode.appendChild(breakNode);
+ this.setFieldValidity("authors", true);
+ }
+ }
+ }
+ },
+
+ setContributorsHeader: function(/*DOM node*/contributorsHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor header node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor header node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsHeaderNode:
+ // The DOM node to attach the contributor title to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.contributors && entry.contributors.length > 0){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var contributorHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.contributors});
+ contributorsHeaderNode.appendChild(contributorHeader.domNode);
+ }
+ },
+
+
+ setContributors: function(/*DOM node*/contributorsAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the contributor node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contributorsAnchorNode:
+ // The DOM node to attach the contributor data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.contributors && entry.contributors.length > 0){
+ for(var i in entry.contributors){
+ var contributorNode = document.createTextNode(entry.contributors[i].name);
+ contributorsAnchorNode.appendChild(contributorNode);
+ var breakNode = document.createElement("br");
+ contributorsAnchorNode.appendChild(breakNode);
+ this.setFieldValidity("contributors", true);
+ }
+ }
+ },
+
+
+ setIdHeader: function(/*DOM node*/idHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.id && entry.id !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var idHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.id});
+ idHeaderNode.appendChild(idHeader.domNode);
+ }
+ },
+
+
+ setId: function(/*DOM node*/idAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the ID node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // idAnchorNode:
+ // The DOM node to attach the ID data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.id && entry.id !== null){
+ var idNode = document.createTextNode(entry.id);
+ idAnchorNode.appendChild(idNode);
+ this.setFieldValidity("id", true);
+ }
+ },
+
+ setUpdatedHeader: function(/*DOM node*/updatedHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated header node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated header node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedHeaderNode:
+ // The DOM node to attach the updated header data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.updated && entry.updated !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var updatedHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.updated});
+ updatedHeaderNode.appendChild(updatedHeader.domNode);
+ }
+ },
+
+ setUpdated: function(/*DOM node*/updatedAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the updated node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // updatedAnchorNode:
+ // The DOM node to attach the udpated data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.updated && entry.updated !== null){
+ var updatedNode = document.createTextNode(entry.updated);
+ updatedAnchorNode.appendChild(updatedNode);
+ this.setFieldValidity("updated", true);
+ }
+ },
+
+ setSummaryHeader: function(/*DOM node*/summaryHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryHeaderNode:
+ // The DOM node to attach the summary title to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var summaryHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.summary});
+ summaryHeaderNode.appendChild(summaryHeader.domNode);
+ }
+ },
+
+
+ setSummary: function(/*DOM node*/summaryAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the summary node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // summaryAnchorNode:
+ // The DOM node to attach the summary data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.summary && entry.summary.value && entry.summary.value !== null){
+ var summaryViewNode = document.createElement("span");
+ var summaryView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false}, summaryViewNode);
+ summaryView.attr('content', entry.summary.value);
+ summaryAnchorNode.appendChild(summaryView.domNode);
+ this.setFieldValidity("summary", true);
+ }
+ },
+
+ setContentHeader: function(/*DOM node*/contentHeaderNode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contentHeaderNode:
+ // The DOM node to attach the content data to.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedEntryViewer");
+ var contentHeader = new dojox.atom.widget.EntryHeader({title: _nlsResources.content});
+ contentHeaderNode.appendChild(contentHeader.domNode);
+ }
+ },
+
+ setContent: function(/*DOM node*/contentAnchorNode, /*boolean*/editMode, /*object*/entry){
+ // summary:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // description:
+ // Function to set the contents of the content node in the template to some value from the entry.
+ // This exists specifically so users can over-ride how the title data is filled out from an entry.
+ //
+ // contentAnchorNode:
+ // The DOM node to attach the content data to.
+ // editMode:
+ // Boolean to indicate if the display should be in edit mode or not.
+ // entry:
+ // The Feed Entry to work with.
+ if(entry.content && entry.content.value && entry.content.value !== null){
+ var contentViewNode = document.createElement("span");
+ var contentView = new dijit.layout.ContentPane({refreshOnShow: true, executeScripts: false},contentViewNode);
+ contentView.attr('content', entry.content.value);
+ contentAnchorNode.appendChild(contentView.domNode);
+ this.setFieldValidity("content", true);
+ }
+ },
+
+
+ _displaySections: function(){
+ // summary:
+ // Internal function for determining which sections of the view to actually display.
+ // description:
+ // Internal function for determining which sections of the view to actually display.
+ //
+ // returns:
+ // Nothing.
+ dojo.style(this.entryTitleRow, 'display', 'none');
+ dojo.style(this.entryAuthorRow, 'display', 'none');
+ dojo.style(this.entryContributorRow, 'display', 'none');
+ dojo.style(this.entrySummaryRow, 'display', 'none');
+ dojo.style(this.entryContentRow, 'display', 'none');
+ dojo.style(this.entryIdRow, 'display', 'none');
+ dojo.style(this.entryUpdatedRow, 'display', 'none');
+
+ for(var i in this._displayEntrySections){
+ var section = this._displayEntrySections[i].toLowerCase();
+ if(section === "title" && this.isFieldValid("title")){
+ dojo.style(this.entryTitleRow, 'display', '');
+ }
+ if(section === "authors" && this.isFieldValid("authors")){
+ dojo.style(this.entryAuthorRow, 'display', '');
+ }
+ if(section === "contributors" && this.isFieldValid("contributors")){
+ dojo.style(this.entryContributorRow, 'display', '');
+ }
+ if(section === "summary" && this.isFieldValid("summary")){
+ dojo.style(this.entrySummaryRow, 'display', '');
+ }
+ if(section === "content" && this.isFieldValid("content")){
+ dojo.style(this.entryContentRow, 'display', '');
+ }
+ if(section === "id" && this.isFieldValid("id")){
+ dojo.style(this.entryIdRow, 'display', '');
+ }
+ if(section === "updated" && this.isFieldValid("updated")){
+ dojo.style(this.entryUpdatedRow, 'display', '');
+ }
+
+ }
+ },
+
+ setDisplaySections: function(/*array*/sectionsArray){
+ // summary:
+ // Function for setting which sections of the entry should be displayed.
+ // description:
+ // Function for setting which sections of the entry should be displayed.
+ //
+ // sectionsArray:
+ // Array of string names that indicate which sections to display.
+ //
+ // returns:
+ // Nothing.
+ if(sectionsArray !== null){
+ this._displayEntrySections = sectionsArray;
+ this._displaySections();
+ }else{
+ this._displayEntrySections = ["title","authors","contributors","summary","content","id","updated"];
+ }
+ },
+
+ _setDisplaySectionsCheckboxes: function(){
+ // summary:
+ // Internal function for setting which checkboxes on the display are selected.
+ // description:
+ // Internal function for setting which checkboxes on the display are selected.
+ //
+ // returns:
+ // Nothing.
+ var items = ["title","authors","contributors","summary","content","id","updated"];
+ for(var i in items){
+ if(dojo.indexOf(this._displayEntrySections, items[i]) == -1){
+ dojo.style(this["feedEntryCell"+items[i]], 'display', 'none');
+ }else{
+ this["feedEntryCheckBox"+items[i].substring(0,1).toUpperCase()+items[i].substring(1)].checked=true;
+ }
+ }
+ },
+
+ _readDisplaySections: function(){
+ // summary:
+ // Internal function for reading what is currently checked for display and generating the display list from it.
+ // description:
+ // Internal function for reading what is currently checked for display and generating the display list from it.
+ //
+ // returns:
+ // Nothing.
+ var checkedList = [];
+
+ if(this.feedEntryCheckBoxTitle.checked){
+ checkedList.push("title");
+ }
+ if(this.feedEntryCheckBoxAuthors.checked){
+ checkedList.push("authors");
+ }
+ if(this.feedEntryCheckBoxContributors.checked){
+ checkedList.push("contributors");
+ }
+ if(this.feedEntryCheckBoxSummary.checked){
+ checkedList.push("summary");
+ }
+ if(this.feedEntryCheckBoxContent.checked){
+ checkedList.push("content");
+ }
+ if(this.feedEntryCheckBoxId.checked){
+ checkedList.push("id");
+ }
+ if(this.feedEntryCheckBoxUpdated.checked){
+ checkedList.push("updated");
+ }
+ this._displayEntrySections = checkedList;
+ },
+
+ _toggleCheckbox: function(/*object*/checkBox){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // checkBox:
+ // The checkbox object to toggle the selection on.
+ //
+ // returns:
+ // Nothing
+ if(checkBox.checked){
+ checkBox.checked=false;
+ }else{
+ checkBox.checked=true;
+ }
+ this._readDisplaySections();
+ this._displaySections();
+ },
+
+ _toggleOptions: function(/*object*/checkBox){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // checkBox:
+ // The checkbox object to toggle the selection on.
+ //
+ // returns:
+ // Nothing
+ if(this.enableMenu){
+ var fade = null;
+ var anim;
+ var anim2;
+ if(this._optionButtonDisplayed){
+ if(this.enableMenuFade){
+ anim = dojo.fadeOut({node: this.entryCheckBoxDisplayOptions,duration: 250});
+ dojo.connect(anim, "onEnd", this, function(){
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow, 'display', '');
+ dojo.style(this.entryCheckBoxRow2, 'display', '');
+ dojo.fadeIn({node: this.entryCheckBoxRow, duration: 250}).play();
+ dojo.fadeIn({node: this.entryCheckBoxRow2, duration: 250}).play();
+ });
+ anim.play();
+ }else{
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow, 'display', '');
+ dojo.style(this.entryCheckBoxRow2, 'display', '');
+ }
+ this._optionButtonDisplayed=false;
+ }else{
+ if(this.enableMenuFade){
+ anim = dojo.fadeOut({node: this.entryCheckBoxRow,duration: 250});
+ anim2 = dojo.fadeOut({node: this.entryCheckBoxRow2,duration: 250});
+ dojo.connect(anim, "onEnd", this, function(){
+ dojo.style(this.entryCheckBoxRow, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow2, 'display', 'none');
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', '');
+ dojo.fadeIn({node: this.entryCheckBoxDisplayOptions, duration: 250}).play();
+ });
+ anim.play();
+ anim2.play();
+ }else{
+ dojo.style(this.entryCheckBoxRow, 'display', 'none');
+ dojo.style(this.entryCheckBoxRow2, 'display', 'none');
+ dojo.style(this.entryCheckBoxDisplayOptions, 'display', '');
+ }
+ this._optionButtonDisplayed=true;
+ }
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent){
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this){
+ if(entrySelectionEvent.action == "set" && entrySelectionEvent.entry){
+ this.setEntry(entrySelectionEvent.entry, entrySelectionEvent.feed);
+ }else if(entrySelectionEvent.action == "delete" && entrySelectionEvent.entry && entrySelectionEvent.entry == this._entry){
+ this.clear();
+ }
+ }
+ },
+
+ setFieldValidity: function(/*string*/field, /*boolean*/isValid){
+ // summary:
+ // Function to set whether a field in the view is valid and displayable.
+ // description:
+ // Function to set whether a field in the view is valid and displayable.
+ // This is needed for over-riding of the set* functions and customization of how data is displayed in the attach point.
+ // So if custom implementations use their own display logic, they can still enable the field.
+ //
+ // field:
+ // The field name to set the valid parameter on. Such as 'content', 'id', etc.
+ // isValid:
+ // Flag denoting if the field is valid or not.
+ //
+ // returns:
+ // Nothing.
+ if(field){
+ var lowerField = field.toLowerCase();
+ this._validEntryFields[field] = isValid;
+ }
+ },
+
+ isFieldValid: function(/*string*/field){
+ // summary:
+ // Function to return if a displayable field is valid or not
+ // description:
+ // Function to return if a displayable field is valid or not
+ //
+ // field:
+ // The field name to get the valid parameter of. Such as 'content', 'id', etc.
+ //
+ // returns:
+ // boolean denoting if the field is valid and set.
+ return this._validEntryFields[field.toLowerCase()];
+ },
+
+ getEntry: function(){
+ return this._entry;
+ },
+
+ getFeed: function(){
+ return this._feed;
+ },
+
+ destroy: function(){
+ this.clear();
+ dojo.forEach(this._subscriptions, dojo.unsubscribe);
+ }
+});
+
+dojo.declare("dojox.atom.widget.EntryHeader",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // Widget representing a header in a FeedEntryViewer/Editor
+ // description:
+ // Widget representing a header in a FeedEntryViewer/Editor
+ title: "",
+ templateString: dojo.cache("dojox.atom", "widget/templates/EntryHeader.html", "<span dojoAttachPoint=\"entryHeaderNode\" class=\"entryHeaderNode\"></span>\r\n"),
+
+ postCreate: function(){
+ this.setListHeader();
+ },
+
+ setListHeader: function(/*string*/title){
+ this.clear();
+ if(title){
+ this.title = title;
+ }
+ var textNode = document.createTextNode(this.title);
+ this.entryHeaderNode.appendChild(textNode);
+ },
+
+ clear: function(){
+ this.destroyDescendants();
+ if(this.entryHeaderNode){
+ for(var i = 0; i < this.entryHeaderNode.childNodes.length; i++){
+ this.entryHeaderNode.removeChild(this.entryHeaderNode.childNodes[i]);
+ }
+ }
+ },
+
+ destroy: function(){
+ this.clear();
+ }
+});
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedViewer.js b/js/dojo-1.6/dojox/atom/widget/FeedViewer.js new file mode 100644 index 0000000..ff53394 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedViewer.js @@ -0,0 +1,809 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.atom.widget.FeedViewer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedViewer"] = true;
+dojo.provide("dojox.atom.widget.FeedViewer");
+
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dojox.atom.io.Connection");
+dojo.requireLocalization("dojox.atom.widget", "FeedViewerEntry", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw");
+
+dojo.experimental("dojox.atom.widget.FeedViewer");
+
+dojo.declare("dojox.atom.widget.FeedViewer",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An ATOM feed viewer that allows for viewing a feed, deleting entries, and editing entries.
+ // description:
+ // An ATOM feed viewer that allows for viewing a feed, deleting entries, and editing entries.
+ feedViewerTableBody: null, //The body of the feed viewer table so we can access it and populate it. Will be assigned via template.
+ feedViewerTable: null, //The overal table container which contains the feed viewer table. Will be assigned via template.
+ entrySelectionTopic: "", //The topic to broadcast when any entry is clicked so that a listener can pick up it and display it.
+ url: "", //The URL to which to connect to initially on creation.
+ xmethod: false,
+ localSaveOnly: false,
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewer.html", "<div class=\"feedViewerContainer\" dojoAttachPoint=\"feedViewerContainerNode\">\r\n\t<table cellspacing=\"0\" cellpadding=\"0\" class=\"feedViewerTable\">\r\n\t\t<tbody dojoAttachPoint=\"feedViewerTableBody\" class=\"feedViewerTableBody\">\r\n\t\t</tbody>\r\n\t</table>\r\n</div>\r\n"),
+
+ _feed: null,
+ _currentSelection: null, // Currently selected entry
+
+ _includeFilters: null,
+
+ alertsEnabled: false,
+
+ postCreate: function(){
+ // summary:
+ // The postCreate function.
+ // description:
+ // The postCreate function. Creates our AtomIO object for future interactions and subscribes to the
+ // event given in markup/creation.
+ this._includeFilters = [];
+
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ this.atomIO = new dojox.atom.io.Connection();
+ this.childWidgets = [];
+ },
+
+ startup: function(){
+ // summary:
+ // The startup function.
+ // description:
+ // The startup function. Parses the filters and sets the feed based on the given url.
+ this.containerNode = this.feedViewerTableBody;
+ var children = this.getDescendants();
+ for(var i in children){
+ var child = children[i];
+ if(child && child.isFilter){
+ this._includeFilters.push(new dojox.atom.widget.FeedViewer.CategoryIncludeFilter(child.scheme, child.term, child.label));
+ child.destroy();
+ }
+ }
+
+ if(this.url !== ""){
+ this.setFeedFromUrl(this.url);
+ }
+ },
+
+ clear: function(){
+ // summary:
+ // Function clearing all current entries in the feed view.
+ // description:
+ // Function clearing all current entries in the feed view.
+ //
+ // returns:
+ // Nothing.
+ this.destroyDescendants();
+ },
+
+ setFeedFromUrl: function(/*string*/url){
+ // summary:
+ // Function setting the feed from a URL which to get the feed.
+ // description:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ //
+ // url:
+ // The URL to the feed to load.
+ //
+ // returns:
+ // Nothing.
+ if(url !== ""){
+ if(this._isRelativeURL(url)){
+ var baseUrl = "";
+ if(url.charAt(0) !== '/'){
+ baseUrl = this._calculateBaseURL(window.location.href, true);
+ }else{
+ baseUrl = this._calculateBaseURL(window.location.href, false);
+ }
+ this.url = baseUrl + url;
+ }
+
+ this.atomIO.getFeed(url,dojo.hitch(this,this.setFeed));
+ }
+ },
+
+
+ setFeed: function(/*object*/feed){
+ // summary:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ // description:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ //
+ // entry:
+ // The dojox.atom.io.model.Feed object to process
+ //
+ // returns:
+ // Nothing.
+ this._feed = feed;
+ this.clear();
+ var entrySorter=function(a,b){
+ var dispA = this._displayDateForEntry(a);
+ var dispB = this._displayDateForEntry(b);
+ if(dispA > dispB){return -1;}
+ if(dispA < dispB){return 1;}
+ return 0;
+ };
+
+ // This function may not be safe in different locales.
+ var groupingStr = function(dateStr){
+ var dpts = dateStr.split(',');
+
+ dpts.pop(); // remove year and time
+ return dpts.join(",");
+ };
+ var sortedEntries = feed.entries.sort(dojo.hitch(this,entrySorter));
+ if(feed){
+ var lastSectionTitle = null;
+ for(var i=0;i<sortedEntries.length;i++){
+
+ var entry = sortedEntries[i];
+
+ if(this._isFilterAccepted(entry)){
+ var time = this._displayDateForEntry(entry);
+ var sectionTitle = "";
+
+ if(time !== null){
+ sectionTitle = groupingStr(time.toLocaleString());
+
+ if(sectionTitle === "" ){
+ //Generally an issue on Opera with how its toLocaleString() works, so do a quick and dirty date construction M/D/Y
+ sectionTitle = "" + (time.getMonth() + 1) + "/" + time.getDate() + "/" + time.getFullYear();
+ }
+ }
+ if((lastSectionTitle === null) || (lastSectionTitle != sectionTitle)){
+ this.appendGrouping(sectionTitle);
+ lastSectionTitle = sectionTitle;
+ }
+ this.appendEntry(entry);
+ }
+ }
+ }
+ },
+
+ _displayDateForEntry: function(/*object*/entry){
+ // summary:
+ // Internal function for determining the appropriate date to display.
+ // description: Internal function for determining of a particular entry is editable.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine.
+ //
+ // returns:
+ // An appropriate date for the feed viewer display.
+ if(entry.updated){return entry.updated;}
+ if(entry.modified){return entry.modified;}
+ if(entry.issued){return entry.issued;}
+ return new Date();
+ },
+
+ appendGrouping: function(/*string*/titleText){
+ // summary:
+ // Function for appending a new grouping of entries to the feed view.
+ // description:
+ // Function for appending a grouping of entries to the feed view.
+ //
+ // entry:
+ // The title of the new grouping to create on the view.
+ //
+ // returns:
+ // Nothing.
+ var entryWidget = new dojox.atom.widget.FeedViewerGrouping({});
+ entryWidget.setText(titleText);
+ this.addChild(entryWidget);
+ this.childWidgets.push(entryWidget);
+ },
+
+ appendEntry: function(/*object*/entry){
+ // summary:
+ // Function for appending an entry to the feed view.
+ // description:
+ // Function for appending an entry to the feed view.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to append
+ //
+ // returns:
+ // Nothing.
+ var entryWidget = new dojox.atom.widget.FeedViewerEntry({"xmethod": this.xmethod});
+ entryWidget.setTitle(entry.title.value);
+ entryWidget.setTime(this._displayDateForEntry(entry).toLocaleTimeString());
+ entryWidget.entrySelectionTopic = this.entrySelectionTopic;
+ entryWidget.feed = this;
+ this.addChild(entryWidget);
+ this.childWidgets.push(entryWidget);
+ this.connect(entryWidget, "onClick", "_rowSelected");
+ entry.domNode = entryWidget.entryNode;
+
+ //Need to set up a bi-directional reference here to control events between the two.
+ entry._entryWidget = entryWidget;
+ entryWidget.entry = entry;
+ },
+
+ deleteEntry: function(/*object*/entryRow){
+ // summary:
+ // Function for deleting a row from the view
+ // description:
+ // Function for deleting a row from the view
+ if(!this.localSaveOnly){
+ this.atomIO.deleteEntry(entryRow.entry, dojo.hitch(this, this._removeEntry, entryRow), null, this.xmethod);
+ }else{
+ this._removeEntry(entryRow, true);
+ }
+ dojo.publish(this.entrySelectionTopic, [{ action: "delete", source: this, entry: entryRow.entry }]);
+ },
+
+ _removeEntry: function(/*FeedViewerEntry*/ entry, /* boolean */success){
+ // summary:
+ // callback for when an entry is deleted from a feed.
+ // description:
+ // callback for when an entry is deleted from a feed.
+ if(success){
+ /* Check if this is the last Entry beneath the given date */
+ var idx = dojo.indexOf(this.childWidgets, entry);
+ var before = this.childWidgets[idx-1];
+ var after = this.childWidgets[idx+1];
+ if( before.declaredClass === 'dojox.atom.widget.FeedViewerGrouping' &&
+ (after === undefined || after.declaredClass === 'dojox.atom.widget.FeedViewerGrouping')){
+ before.destroy();
+ }
+
+ /* Destroy the FeedViewerEntry to remove it from the view */
+ entry.destroy();
+ }else{}
+ },
+
+ _rowSelected: function(/*object*/evt){
+ // summary:
+ // Internal function for handling the selection of feed entries.
+ // description:
+ // Internal function for handling the selection of feed entries.
+ //
+ // evt:
+ // The click event that triggered a selection.
+ //
+ // returns:
+ // Nothing.
+ var selectedNode = evt.target;
+ while(selectedNode){
+ if(selectedNode.attributes){
+ var widgetid = selectedNode.attributes.getNamedItem("widgetid");
+ if(widgetid && widgetid.value.indexOf("FeedViewerEntry") != -1){
+ break;
+ }
+ }
+ selectedNode = selectedNode.parentNode;
+ }
+
+ for(var i=0;i<this._feed.entries.length;i++){
+ var entry = this._feed.entries[i];
+ if( (selectedNode === entry.domNode) && (this._currentSelection !== entry) ){
+ //Found it and it isn't already selected.
+ dojo.addClass(entry.domNode, "feedViewerEntrySelected");
+ dojo.removeClass(entry._entryWidget.timeNode, "feedViewerEntryUpdated");
+ dojo.addClass(entry._entryWidget.timeNode, "feedViewerEntryUpdatedSelected");
+
+ this.onEntrySelected(entry);
+ if(this.entrySelectionTopic !== ""){
+ dojo.publish(this.entrySelectionTopic, [{ action: "set", source: this, feed: this._feed, entry: entry }]);
+ }
+ if(this._isEditable(entry)){
+ entry._entryWidget.enableDelete();
+ }
+
+ this._deselectCurrentSelection();
+ this._currentSelection = entry;
+ break;
+ }else if( (selectedNode === entry.domNode) && (this._currentSelection === entry) ){
+ //Found it and it is the current selection, we just want to de-select it so users can 'unselect rows' if they want.
+ dojo.publish(this.entrySelectionTopic, [{ action: "delete", source: this, entry: entry }]);
+ this._deselectCurrentSelection();
+ break;
+ }
+ }
+ },
+
+ _deselectCurrentSelection: function(){
+ // summary:
+ // Internal function for unselecting the current selection.
+ // description:
+ // Internal function for unselecting the current selection.
+ //
+ // returns:
+ // Nothing.
+ if(this._currentSelection){
+ dojo.addClass(this._currentSelection._entryWidget.timeNode, "feedViewerEntryUpdated");
+ dojo.removeClass(this._currentSelection.domNode, "feedViewerEntrySelected");
+ dojo.removeClass(this._currentSelection._entryWidget.timeNode, "feedViewerEntryUpdatedSelected");
+ this._currentSelection._entryWidget.disableDelete();
+ this._currentSelection = null;
+ }
+ },
+
+
+ _isEditable: function(/*object*/entry){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine
+ //
+ // returns:
+ // Boolean denoting if the entry seems editable or not..
+ var retVal = false;
+ if(entry && entry !== null && entry.links && entry.links !== null){
+ for(var x in entry.links){
+ if(entry.links[x].rel && entry.links[x].rel == "edit"){
+ retVal = true;
+ break;
+ }
+ }
+ }
+ return retVal;
+ },
+
+ onEntrySelected: function(/*object*/entry){
+ // summary:
+ // Function intended for over-riding/replacement as an attachpoint to for other items to recieve
+ // selection notification.
+ // description: Function intended for over0-riding/replacement as an attachpoint to for other items to recieve
+ // selection notification.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object selected.
+ //
+ // returns:
+ // Nothing.
+ },
+
+ _isRelativeURL: function(/*string*/url){
+ // summary:
+ // Method to determine if the URL is relative or absolute.
+ // description:
+ // Method to determine if the URL is relative or absolute. Basic assumption is if it doesn't start
+ // with http:// or file://, it's relative to the current document.
+ //
+ // url:
+ // The URL to inspect.
+ //
+ // returns:
+ // boolean indicating whether it's a relative url or not.
+ var isFileURL = function(url){
+ var retVal = false;
+ if(url.indexOf("file://") === 0){
+ retVal = true;
+ }
+ return retVal;
+ }
+
+ var isHttpURL = function(url){
+ var retVal = false;
+ if(url.indexOf("http://") === 0){
+ retVal = true;
+ }
+ return retVal;
+ }
+
+ var retVal = false;
+ if(url !== null){
+ if(!isFileURL(url) && !isHttpURL(url)){
+ retVal = true;
+ }
+ }
+ return retVal;
+ },
+
+ _calculateBaseURL: function(/*string*/fullURL, /*boolean*/currentPageRelative){
+ // summary:
+ // Internal function to calculate a baseline URL from the provided full URL.
+ // description:
+ // Internal function to calculate a baseline URL from the provided full URL.
+ //
+ // fullURL:
+ // The full URL as a string.
+ // currentPageRelative:
+ // Flag to denote of the base URL should be calculated as just the server base, or relative to the current page/location in the URL.
+ //
+ // returns:
+ // String of the baseline URL
+ var baseURL = null;
+ if(fullURL !== null){
+ //Check to see if we need to strip off any query parameters from the URL.
+ var index = fullURL.indexOf("?");
+ if(index != -1){
+ fullURL = fullURL.substring(0,index);
+ //console.debug("Removed query parameters. URL now: " + fullURL);
+ }
+
+ if(currentPageRelative){
+ //Relative to the 'current page' in the URL, so we need to trim that off.
+ //Now we need to trim if necessary. If it ends in /, then we don't have a filename to trim off
+ //so we can return.
+ index = fullURL.lastIndexOf("/");
+ if((index > 0) && (index < fullURL.length) && (index !== (fullURL.length -1))){
+ //We want to include the terminating /
+ baseURL = fullURL.substring(0,(index + 1));
+ }else{
+ baseURL = fullURL;
+ }
+ }else{
+ //We want to find the first occurance of / after the <protocol>://
+ index = fullURL.indexOf("://");
+ if(index > 0){
+ index = index + 3;
+ var protocol = fullURL.substring(0,index);
+ var fragmentURL = fullURL.substring(index, fullURL.length);
+ index = fragmentURL.indexOf("/");
+ if((index < fragmentURL.length) && (index > 0) ){
+ baseURL = protocol + fragmentURL.substring(0,index);
+ }else{
+ baseURL = protocol + fragmentURL;
+ }
+ }
+ }
+ }
+ return baseURL;
+ },
+
+ _isFilterAccepted: function(/*object*/entry) {
+ // summary:
+ // Internal function to do matching of category filters to widgets.
+ // description:
+ // Internal function to do matching of category filters to widgets.
+ //
+ // returns:
+ // boolean denoting if this entry matched one of the accept filters.
+ var accepted = false;
+ if (this._includeFilters && (this._includeFilters.length > 0)) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var filter = this._includeFilters[i];
+ if (filter.match(entry)) {
+ accepted = true;
+ break;
+ }
+ }
+ }
+ else {
+ accepted = true;
+ }
+ return accepted;
+ },
+
+ addCategoryIncludeFilter: function(/*object*/filter) {
+ // summary:
+ // Function to add a filter for entry inclusion in the feed view.
+ // description:
+ // Function to add a filter for entry inclusion in the feed view.
+ //
+ // filter:
+ // The basic items to filter on and the values.
+ // Should be of format: {scheme: <some text or null>, term: <some text or null>, label: <some text or null>}
+ //
+ // returns:
+ // Nothing.
+ if (filter) {
+ var scheme = filter.scheme;
+ var term = filter.term;
+ var label = filter.label;
+ var addIt = true;
+
+ if (!scheme) {
+ scheme = null;
+ }
+ if (!term) {
+ scheme = null;
+ }
+ if (!label) {
+ scheme = null;
+ }
+
+ if (this._includeFilters && this._includeFilters.length > 0) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var eFilter = this._includeFilters[i];
+ if ((eFilter.term === term) && (eFilter.scheme === scheme) && (eFilter.label === label)) {
+ //Verify we don't have this filter already.
+ addIt = false;
+ break;
+ }
+ }
+ }
+
+ if (addIt) {
+ this._includeFilters.push(dojox.atom.widget.FeedViewer.CategoryIncludeFilter(scheme, term, label));
+ }
+ }
+ },
+
+ removeCategoryIncludeFilter: function(/*object*/filter) {
+ // summary:
+ // Function to remove a filter for entry inclusion in the feed view.
+ // description:
+ // Function to remove a filter for entry inclusion in the feed view.
+ //
+ // filter:
+ // The basic items to identify the filter that is present.
+ // Should be of format: {scheme: <some text or null>, term: <some text or null>, label: <some text or null>}
+ //
+ // returns:
+ // Nothing.
+ if (filter) {
+ var scheme = filter.scheme;
+ var term = filter.term;
+ var label = filter.label;
+
+ if (!scheme) {
+ scheme = null;
+ }
+ if (!term) {
+ scheme = null;
+ }
+ if (!label) {
+ scheme = null;
+ }
+
+ var newFilters = [];
+ if (this._includeFilters && this._includeFilters.length > 0) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var eFilter = this._includeFilters[i];
+ if (!((eFilter.term === term) && (eFilter.scheme === scheme) && (eFilter.label === label))) {
+ //Keep only filters that do not match
+ newFilters.push(eFilter);
+ }
+ }
+ this._includeFilters = newFilters;
+ }
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent) {
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this) {
+ if(entrySelectionEvent.action == "update" && entrySelectionEvent.entry) {
+ var evt = entrySelectionEvent;
+ if(!this.localSaveOnly){
+ this.atomIO.updateEntry(evt.entry, dojo.hitch(evt.source,evt.callback), null, true);
+ }
+ this._currentSelection._entryWidget.setTime(this._displayDateForEntry(evt.entry).toLocaleTimeString());
+ this._currentSelection._entryWidget.setTitle(evt.entry.title.value);
+ } else if(entrySelectionEvent.action == "post" && entrySelectionEvent.entry) {
+ if(!this.localSaveOnly){
+ this.atomIO.addEntry(entrySelectionEvent.entry, this.url, dojo.hitch(this,this._addEntry));
+ }else{
+ this._addEntry(entrySelectionEvent.entry);
+ }
+ }
+ }
+ },
+
+ _addEntry: function(/*object*/entry) {
+ // summary:
+ // callback function used when adding an entry to the feed.
+ // description:
+ // callback function used when adding an entry to the feed. After the entry has been posted to the feed,
+ // we add it to our feed representation (to show it on the page) and publish an event to update any entry viewers.
+ this._feed.addEntry(entry);
+ this.setFeed(this._feed);
+ dojo.publish(this.entrySelectionTopic, [{ action: "set", source: this, feed: this._feed, entry: entry }]);
+ },
+
+ destroy: function(){
+ // summary:
+ // Destroys this widget, including all descendants and subscriptions.
+ // description:
+ // Destroys this widget, including all descendants and subscriptions.
+ this.clear();
+ dojo.forEach(this._subscriptions, dojo.unsubscribe);
+ }
+});
+
+dojo.declare("dojox.atom.widget.FeedViewerEntry",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // Widget for handling the display of an entry and specific events associated with it.
+ // description: Widget for handling the display of an entry and specific events associated with it.
+
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewerEntry.html", "<tr class=\"feedViewerEntry\" dojoAttachPoint=\"entryNode\" dojoAttachEvent=\"onclick:onClick\">\r\n <td class=\"feedViewerEntryUpdated\" dojoAttachPoint=\"timeNode\">\r\n </td>\r\n <td>\r\n <table border=\"0\" width=\"100%\" dojoAttachPoint=\"titleRow\">\r\n <tr padding=\"0\" border=\"0\">\r\n <td class=\"feedViewerEntryTitle\" dojoAttachPoint=\"titleNode\">\r\n </td>\r\n <td class=\"feedViewerEntryDelete\" align=\"right\">\r\n <span dojoAttachPoint=\"deleteButton\" dojoAttachEvent=\"onclick:deleteEntry\" class=\"feedViewerDeleteButton\" style=\"display:none;\">[delete]</span>\r\n </td>\r\n <tr>\r\n </table>\r\n </td>\r\n</tr>\r\n"),
+
+ entryNode: null,
+ timeNode: null,
+ deleteButton: null,
+ entry: null,
+ feed: null,
+
+ postCreate: function(){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedViewerEntry");
+ this.deleteButton.innerHTML = _nlsResources.deleteButton;
+ },
+
+ setTitle: function(/*string*/text){
+ // summary:
+ // Function to set the title of the entry.
+ // description:
+ // Function to set the title of the entry.
+ //
+ // text:
+ // The title.
+ //
+ // returns:
+ // Nothing.
+ if (this.titleNode.lastChild){this.titleNode.removeChild(this.titleNode.lastChild);}
+
+ var titleTextNode = document.createElement("div");
+ titleTextNode.innerHTML = text;
+ this.titleNode.appendChild(titleTextNode);
+ },
+
+ setTime: function(/*string*/timeText){
+ // summary:
+ // Function to set the time of the entry.
+ // description:
+ // Function to set the time of the entry.
+ //
+ // timeText:
+ // The string form of the date.
+ //
+ // returns:
+ // Nothing.
+ if (this.timeNode.lastChild){this.timeNode.removeChild(this.timeNode.lastChild);}
+ var timeTextNode = document.createTextNode(timeText);
+ this.timeNode.appendChild(timeTextNode);
+ },
+
+ enableDelete: function(){
+ // summary:
+ // Function to enable the delete action on this entry.
+ // description:
+ // Function to enable the delete action on this entry.
+ //
+ // returns:
+ // Nothing.
+ if (this.deleteButton !== null) {
+ //TODO Fix this
+ this.deleteButton.style.display = 'inline';
+ }
+ },
+
+ disableDelete: function(){
+ // summary:
+ // Function to disable the delete action on this entry.
+ // description:
+ // Function to disable the delete action on this entry.
+ //
+ // returns:
+ // Nothing.
+ if (this.deleteButton !== null) {
+ this.deleteButton.style.display = 'none';
+ }
+ },
+
+ deleteEntry: function(/*object*/event) {
+ // summary:
+ // Function to handle the delete event and delete the entry.
+ // description:
+ // Function to handle the delete event and delete the entry.
+ //
+ // returns:
+ // Nothing.
+ event.preventDefault();
+ event.stopPropagation();
+ this.feed.deleteEntry(this);
+ },
+
+ onClick: function(/*object*/e){
+ // summary:
+ // Attach point for when a row is clicked on.
+ // description:
+ // Attach point for when a row is clicked on.
+ //
+ // e:
+ // The event generated by the click.
+ }
+});
+
+dojo.declare("dojox.atom.widget.FeedViewerGrouping",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // Grouping of feed entries.
+ // description:
+ // Grouping of feed entries.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewerGrouping.html", "<tr dojoAttachPoint=\"groupingNode\" class=\"feedViewerGrouping\">\r\n\t<td colspan=\"2\" dojoAttachPoint=\"titleNode\" class=\"feedViewerGroupingTitle\">\r\n\t</td>\r\n</tr>\r\n"),
+
+ groupingNode: null,
+ titleNode: null,
+
+ setText: function(text){
+ // summary:
+ // Sets the text to be shown above this grouping.
+ // description:
+ // Sets the text to be shown above this grouping.
+ //
+ // text:
+ // The text to show.
+ if (this.titleNode.lastChild){this.titleNode.removeChild(this.titleNode.lastChild);}
+ var textNode = document.createTextNode(text);
+ this.titleNode.appendChild(textNode);
+ }
+});
+
+dojo.declare("dojox.atom.widget.AtomEntryCategoryFilter",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // A filter to be applied to the list of entries.
+ // description:
+ // A filter to be applied to the list of entries.
+ scheme: "",
+ term: "",
+ label: "",
+ isFilter: true
+});
+
+dojo.declare("dojox.atom.widget.FeedViewer.CategoryIncludeFilter",null,{
+ constructor: function(scheme, term, label){
+ // summary:
+ // The initializer function.
+ // description:
+ // The initializer function.
+ this.scheme = scheme;
+ this.term = term;
+ this.label = label;
+ },
+
+ match: function(entry) {
+ // summary:
+ // Function to determine if this category filter matches against a category on an atom entry
+ // description:
+ // Function to determine if this category filter matches against a category on an atom entry
+ //
+ // returns:
+ // boolean denoting if this category filter matched to this entry.
+ var matched = false;
+ if (entry !== null) {
+ var categories = entry.categories;
+ if (categories !== null) {
+ for (var i = 0; i < categories.length; i++) {
+ var category = categories[i];
+
+ if (this.scheme !== "") {
+ if (this.scheme !== category.scheme) {
+ break;
+ }
+ }
+
+ if (this.term !== "") {
+ if (this.term !== category.term) {
+ break;
+ }
+ }
+
+ if (this.label !== "") {
+ if (this.label !== category.label) {
+ break;
+ }
+ }
+ //Made it this far, everything matched.
+ matched = true;
+ }
+ }
+ }
+ return matched;
+ }
+});
+
+}
diff --git a/js/dojo-1.6/dojox/atom/widget/FeedViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/FeedViewer.xd.js new file mode 100644 index 0000000..c01f356 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/FeedViewer.xd.js @@ -0,0 +1,818 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.atom.widget.FeedViewer"],
+["require", "dijit._Widget"],
+["require", "dijit._Templated"],
+["require", "dijit._Container"],
+["require", "dojox.atom.io.Connection"],
+["requireLocalization", "dojox.atom.widget", "FeedViewerEntry", null, "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw", "ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.atom.widget.FeedViewer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.atom.widget.FeedViewer"] = true;
+dojo.provide("dojox.atom.widget.FeedViewer");
+
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.require("dijit._Container");
+dojo.require("dojox.atom.io.Connection");
+;
+
+dojo.experimental("dojox.atom.widget.FeedViewer");
+
+dojo.declare("dojox.atom.widget.FeedViewer",[dijit._Widget, dijit._Templated, dijit._Container],{
+ // summary:
+ // An ATOM feed viewer that allows for viewing a feed, deleting entries, and editing entries.
+ // description:
+ // An ATOM feed viewer that allows for viewing a feed, deleting entries, and editing entries.
+ feedViewerTableBody: null, //The body of the feed viewer table so we can access it and populate it. Will be assigned via template.
+ feedViewerTable: null, //The overal table container which contains the feed viewer table. Will be assigned via template.
+ entrySelectionTopic: "", //The topic to broadcast when any entry is clicked so that a listener can pick up it and display it.
+ url: "", //The URL to which to connect to initially on creation.
+ xmethod: false,
+ localSaveOnly: false,
+
+ //Templates for the HTML rendering. Need to figure these out better, admittedly.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewer.html", "<div class=\"feedViewerContainer\" dojoAttachPoint=\"feedViewerContainerNode\">\r\n\t<table cellspacing=\"0\" cellpadding=\"0\" class=\"feedViewerTable\">\r\n\t\t<tbody dojoAttachPoint=\"feedViewerTableBody\" class=\"feedViewerTableBody\">\r\n\t\t</tbody>\r\n\t</table>\r\n</div>\r\n"),
+
+ _feed: null,
+ _currentSelection: null, // Currently selected entry
+
+ _includeFilters: null,
+
+ alertsEnabled: false,
+
+ postCreate: function(){
+ // summary:
+ // The postCreate function.
+ // description:
+ // The postCreate function. Creates our AtomIO object for future interactions and subscribes to the
+ // event given in markup/creation.
+ this._includeFilters = [];
+
+ if(this.entrySelectionTopic !== ""){
+ this._subscriptions = [dojo.subscribe(this.entrySelectionTopic, this, "_handleEvent")];
+ }
+ this.atomIO = new dojox.atom.io.Connection();
+ this.childWidgets = [];
+ },
+
+ startup: function(){
+ // summary:
+ // The startup function.
+ // description:
+ // The startup function. Parses the filters and sets the feed based on the given url.
+ this.containerNode = this.feedViewerTableBody;
+ var children = this.getDescendants();
+ for(var i in children){
+ var child = children[i];
+ if(child && child.isFilter){
+ this._includeFilters.push(new dojox.atom.widget.FeedViewer.CategoryIncludeFilter(child.scheme, child.term, child.label));
+ child.destroy();
+ }
+ }
+
+ if(this.url !== ""){
+ this.setFeedFromUrl(this.url);
+ }
+ },
+
+ clear: function(){
+ // summary:
+ // Function clearing all current entries in the feed view.
+ // description:
+ // Function clearing all current entries in the feed view.
+ //
+ // returns:
+ // Nothing.
+ this.destroyDescendants();
+ },
+
+ setFeedFromUrl: function(/*string*/url){
+ // summary:
+ // Function setting the feed from a URL which to get the feed.
+ // description:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ //
+ // url:
+ // The URL to the feed to load.
+ //
+ // returns:
+ // Nothing.
+ if(url !== ""){
+ if(this._isRelativeURL(url)){
+ var baseUrl = "";
+ if(url.charAt(0) !== '/'){
+ baseUrl = this._calculateBaseURL(window.location.href, true);
+ }else{
+ baseUrl = this._calculateBaseURL(window.location.href, false);
+ }
+ this.url = baseUrl + url;
+ }
+
+ this.atomIO.getFeed(url,dojo.hitch(this,this.setFeed));
+ }
+ },
+
+
+ setFeed: function(/*object*/feed){
+ // summary:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ // description:
+ // Function setting the dojox.atom.io.model.Feed data into the view.
+ //
+ // entry:
+ // The dojox.atom.io.model.Feed object to process
+ //
+ // returns:
+ // Nothing.
+ this._feed = feed;
+ this.clear();
+ var entrySorter=function(a,b){
+ var dispA = this._displayDateForEntry(a);
+ var dispB = this._displayDateForEntry(b);
+ if(dispA > dispB){return -1;}
+ if(dispA < dispB){return 1;}
+ return 0;
+ };
+
+ // This function may not be safe in different locales.
+ var groupingStr = function(dateStr){
+ var dpts = dateStr.split(',');
+
+ dpts.pop(); // remove year and time
+ return dpts.join(",");
+ };
+ var sortedEntries = feed.entries.sort(dojo.hitch(this,entrySorter));
+ if(feed){
+ var lastSectionTitle = null;
+ for(var i=0;i<sortedEntries.length;i++){
+
+ var entry = sortedEntries[i];
+
+ if(this._isFilterAccepted(entry)){
+ var time = this._displayDateForEntry(entry);
+ var sectionTitle = "";
+
+ if(time !== null){
+ sectionTitle = groupingStr(time.toLocaleString());
+
+ if(sectionTitle === "" ){
+ //Generally an issue on Opera with how its toLocaleString() works, so do a quick and dirty date construction M/D/Y
+ sectionTitle = "" + (time.getMonth() + 1) + "/" + time.getDate() + "/" + time.getFullYear();
+ }
+ }
+ if((lastSectionTitle === null) || (lastSectionTitle != sectionTitle)){
+ this.appendGrouping(sectionTitle);
+ lastSectionTitle = sectionTitle;
+ }
+ this.appendEntry(entry);
+ }
+ }
+ }
+ },
+
+ _displayDateForEntry: function(/*object*/entry){
+ // summary:
+ // Internal function for determining the appropriate date to display.
+ // description: Internal function for determining of a particular entry is editable.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine.
+ //
+ // returns:
+ // An appropriate date for the feed viewer display.
+ if(entry.updated){return entry.updated;}
+ if(entry.modified){return entry.modified;}
+ if(entry.issued){return entry.issued;}
+ return new Date();
+ },
+
+ appendGrouping: function(/*string*/titleText){
+ // summary:
+ // Function for appending a new grouping of entries to the feed view.
+ // description:
+ // Function for appending a grouping of entries to the feed view.
+ //
+ // entry:
+ // The title of the new grouping to create on the view.
+ //
+ // returns:
+ // Nothing.
+ var entryWidget = new dojox.atom.widget.FeedViewerGrouping({});
+ entryWidget.setText(titleText);
+ this.addChild(entryWidget);
+ this.childWidgets.push(entryWidget);
+ },
+
+ appendEntry: function(/*object*/entry){
+ // summary:
+ // Function for appending an entry to the feed view.
+ // description:
+ // Function for appending an entry to the feed view.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to append
+ //
+ // returns:
+ // Nothing.
+ var entryWidget = new dojox.atom.widget.FeedViewerEntry({"xmethod": this.xmethod});
+ entryWidget.setTitle(entry.title.value);
+ entryWidget.setTime(this._displayDateForEntry(entry).toLocaleTimeString());
+ entryWidget.entrySelectionTopic = this.entrySelectionTopic;
+ entryWidget.feed = this;
+ this.addChild(entryWidget);
+ this.childWidgets.push(entryWidget);
+ this.connect(entryWidget, "onClick", "_rowSelected");
+ entry.domNode = entryWidget.entryNode;
+
+ //Need to set up a bi-directional reference here to control events between the two.
+ entry._entryWidget = entryWidget;
+ entryWidget.entry = entry;
+ },
+
+ deleteEntry: function(/*object*/entryRow){
+ // summary:
+ // Function for deleting a row from the view
+ // description:
+ // Function for deleting a row from the view
+ if(!this.localSaveOnly){
+ this.atomIO.deleteEntry(entryRow.entry, dojo.hitch(this, this._removeEntry, entryRow), null, this.xmethod);
+ }else{
+ this._removeEntry(entryRow, true);
+ }
+ dojo.publish(this.entrySelectionTopic, [{ action: "delete", source: this, entry: entryRow.entry }]);
+ },
+
+ _removeEntry: function(/*FeedViewerEntry*/ entry, /* boolean */success){
+ // summary:
+ // callback for when an entry is deleted from a feed.
+ // description:
+ // callback for when an entry is deleted from a feed.
+ if(success){
+ /* Check if this is the last Entry beneath the given date */
+ var idx = dojo.indexOf(this.childWidgets, entry);
+ var before = this.childWidgets[idx-1];
+ var after = this.childWidgets[idx+1];
+ if( before.declaredClass === 'dojox.atom.widget.FeedViewerGrouping' &&
+ (after === undefined || after.declaredClass === 'dojox.atom.widget.FeedViewerGrouping')){
+ before.destroy();
+ }
+
+ /* Destroy the FeedViewerEntry to remove it from the view */
+ entry.destroy();
+ }else{}
+ },
+
+ _rowSelected: function(/*object*/evt){
+ // summary:
+ // Internal function for handling the selection of feed entries.
+ // description:
+ // Internal function for handling the selection of feed entries.
+ //
+ // evt:
+ // The click event that triggered a selection.
+ //
+ // returns:
+ // Nothing.
+ var selectedNode = evt.target;
+ while(selectedNode){
+ if(selectedNode.attributes){
+ var widgetid = selectedNode.attributes.getNamedItem("widgetid");
+ if(widgetid && widgetid.value.indexOf("FeedViewerEntry") != -1){
+ break;
+ }
+ }
+ selectedNode = selectedNode.parentNode;
+ }
+
+ for(var i=0;i<this._feed.entries.length;i++){
+ var entry = this._feed.entries[i];
+ if( (selectedNode === entry.domNode) && (this._currentSelection !== entry) ){
+ //Found it and it isn't already selected.
+ dojo.addClass(entry.domNode, "feedViewerEntrySelected");
+ dojo.removeClass(entry._entryWidget.timeNode, "feedViewerEntryUpdated");
+ dojo.addClass(entry._entryWidget.timeNode, "feedViewerEntryUpdatedSelected");
+
+ this.onEntrySelected(entry);
+ if(this.entrySelectionTopic !== ""){
+ dojo.publish(this.entrySelectionTopic, [{ action: "set", source: this, feed: this._feed, entry: entry }]);
+ }
+ if(this._isEditable(entry)){
+ entry._entryWidget.enableDelete();
+ }
+
+ this._deselectCurrentSelection();
+ this._currentSelection = entry;
+ break;
+ }else if( (selectedNode === entry.domNode) && (this._currentSelection === entry) ){
+ //Found it and it is the current selection, we just want to de-select it so users can 'unselect rows' if they want.
+ dojo.publish(this.entrySelectionTopic, [{ action: "delete", source: this, entry: entry }]);
+ this._deselectCurrentSelection();
+ break;
+ }
+ }
+ },
+
+ _deselectCurrentSelection: function(){
+ // summary:
+ // Internal function for unselecting the current selection.
+ // description:
+ // Internal function for unselecting the current selection.
+ //
+ // returns:
+ // Nothing.
+ if(this._currentSelection){
+ dojo.addClass(this._currentSelection._entryWidget.timeNode, "feedViewerEntryUpdated");
+ dojo.removeClass(this._currentSelection.domNode, "feedViewerEntrySelected");
+ dojo.removeClass(this._currentSelection._entryWidget.timeNode, "feedViewerEntryUpdatedSelected");
+ this._currentSelection._entryWidget.disableDelete();
+ this._currentSelection = null;
+ }
+ },
+
+
+ _isEditable: function(/*object*/entry){
+ // summary:
+ // Internal function for determining of a particular entry is editable.
+ // description:
+ // Internal function for determining of a particular entry is editable.
+ // This is used for determining if the delete action should be displayed or not.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object to examine
+ //
+ // returns:
+ // Boolean denoting if the entry seems editable or not..
+ var retVal = false;
+ if(entry && entry !== null && entry.links && entry.links !== null){
+ for(var x in entry.links){
+ if(entry.links[x].rel && entry.links[x].rel == "edit"){
+ retVal = true;
+ break;
+ }
+ }
+ }
+ return retVal;
+ },
+
+ onEntrySelected: function(/*object*/entry){
+ // summary:
+ // Function intended for over-riding/replacement as an attachpoint to for other items to recieve
+ // selection notification.
+ // description: Function intended for over0-riding/replacement as an attachpoint to for other items to recieve
+ // selection notification.
+ //
+ // entry:
+ // The dojox.atom.io.model.Entry object selected.
+ //
+ // returns:
+ // Nothing.
+ },
+
+ _isRelativeURL: function(/*string*/url){
+ // summary:
+ // Method to determine if the URL is relative or absolute.
+ // description:
+ // Method to determine if the URL is relative or absolute. Basic assumption is if it doesn't start
+ // with http:// or file://, it's relative to the current document.
+ //
+ // url:
+ // The URL to inspect.
+ //
+ // returns:
+ // boolean indicating whether it's a relative url or not.
+ var isFileURL = function(url){
+ var retVal = false;
+ if(url.indexOf("file://") === 0){
+ retVal = true;
+ }
+ return retVal;
+ }
+
+ var isHttpURL = function(url){
+ var retVal = false;
+ if(url.indexOf("http://") === 0){
+ retVal = true;
+ }
+ return retVal;
+ }
+
+ var retVal = false;
+ if(url !== null){
+ if(!isFileURL(url) && !isHttpURL(url)){
+ retVal = true;
+ }
+ }
+ return retVal;
+ },
+
+ _calculateBaseURL: function(/*string*/fullURL, /*boolean*/currentPageRelative){
+ // summary:
+ // Internal function to calculate a baseline URL from the provided full URL.
+ // description:
+ // Internal function to calculate a baseline URL from the provided full URL.
+ //
+ // fullURL:
+ // The full URL as a string.
+ // currentPageRelative:
+ // Flag to denote of the base URL should be calculated as just the server base, or relative to the current page/location in the URL.
+ //
+ // returns:
+ // String of the baseline URL
+ var baseURL = null;
+ if(fullURL !== null){
+ //Check to see if we need to strip off any query parameters from the URL.
+ var index = fullURL.indexOf("?");
+ if(index != -1){
+ fullURL = fullURL.substring(0,index);
+ //console.debug("Removed query parameters. URL now: " + fullURL);
+ }
+
+ if(currentPageRelative){
+ //Relative to the 'current page' in the URL, so we need to trim that off.
+ //Now we need to trim if necessary. If it ends in /, then we don't have a filename to trim off
+ //so we can return.
+ index = fullURL.lastIndexOf("/");
+ if((index > 0) && (index < fullURL.length) && (index !== (fullURL.length -1))){
+ //We want to include the terminating /
+ baseURL = fullURL.substring(0,(index + 1));
+ }else{
+ baseURL = fullURL;
+ }
+ }else{
+ //We want to find the first occurance of / after the <protocol>://
+ index = fullURL.indexOf("://");
+ if(index > 0){
+ index = index + 3;
+ var protocol = fullURL.substring(0,index);
+ var fragmentURL = fullURL.substring(index, fullURL.length);
+ index = fragmentURL.indexOf("/");
+ if((index < fragmentURL.length) && (index > 0) ){
+ baseURL = protocol + fragmentURL.substring(0,index);
+ }else{
+ baseURL = protocol + fragmentURL;
+ }
+ }
+ }
+ }
+ return baseURL;
+ },
+
+ _isFilterAccepted: function(/*object*/entry) {
+ // summary:
+ // Internal function to do matching of category filters to widgets.
+ // description:
+ // Internal function to do matching of category filters to widgets.
+ //
+ // returns:
+ // boolean denoting if this entry matched one of the accept filters.
+ var accepted = false;
+ if (this._includeFilters && (this._includeFilters.length > 0)) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var filter = this._includeFilters[i];
+ if (filter.match(entry)) {
+ accepted = true;
+ break;
+ }
+ }
+ }
+ else {
+ accepted = true;
+ }
+ return accepted;
+ },
+
+ addCategoryIncludeFilter: function(/*object*/filter) {
+ // summary:
+ // Function to add a filter for entry inclusion in the feed view.
+ // description:
+ // Function to add a filter for entry inclusion in the feed view.
+ //
+ // filter:
+ // The basic items to filter on and the values.
+ // Should be of format: {scheme: <some text or null>, term: <some text or null>, label: <some text or null>}
+ //
+ // returns:
+ // Nothing.
+ if (filter) {
+ var scheme = filter.scheme;
+ var term = filter.term;
+ var label = filter.label;
+ var addIt = true;
+
+ if (!scheme) {
+ scheme = null;
+ }
+ if (!term) {
+ scheme = null;
+ }
+ if (!label) {
+ scheme = null;
+ }
+
+ if (this._includeFilters && this._includeFilters.length > 0) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var eFilter = this._includeFilters[i];
+ if ((eFilter.term === term) && (eFilter.scheme === scheme) && (eFilter.label === label)) {
+ //Verify we don't have this filter already.
+ addIt = false;
+ break;
+ }
+ }
+ }
+
+ if (addIt) {
+ this._includeFilters.push(dojox.atom.widget.FeedViewer.CategoryIncludeFilter(scheme, term, label));
+ }
+ }
+ },
+
+ removeCategoryIncludeFilter: function(/*object*/filter) {
+ // summary:
+ // Function to remove a filter for entry inclusion in the feed view.
+ // description:
+ // Function to remove a filter for entry inclusion in the feed view.
+ //
+ // filter:
+ // The basic items to identify the filter that is present.
+ // Should be of format: {scheme: <some text or null>, term: <some text or null>, label: <some text or null>}
+ //
+ // returns:
+ // Nothing.
+ if (filter) {
+ var scheme = filter.scheme;
+ var term = filter.term;
+ var label = filter.label;
+
+ if (!scheme) {
+ scheme = null;
+ }
+ if (!term) {
+ scheme = null;
+ }
+ if (!label) {
+ scheme = null;
+ }
+
+ var newFilters = [];
+ if (this._includeFilters && this._includeFilters.length > 0) {
+ for (var i = 0; i < this._includeFilters.length; i++) {
+ var eFilter = this._includeFilters[i];
+ if (!((eFilter.term === term) && (eFilter.scheme === scheme) && (eFilter.label === label))) {
+ //Keep only filters that do not match
+ newFilters.push(eFilter);
+ }
+ }
+ this._includeFilters = newFilters;
+ }
+ }
+ },
+
+ _handleEvent: function(/*object*/entrySelectionEvent) {
+ // summary:
+ // Internal function for listening to a topic that will handle entry notification.
+ // description:
+ // Internal function for listening to a topic that will handle entry notification.
+ //
+ // entrySelectionEvent:
+ // The topic message containing the entry that was selected for view.
+ //
+ // returns:
+ // Nothing.
+ if(entrySelectionEvent.source != this) {
+ if(entrySelectionEvent.action == "update" && entrySelectionEvent.entry) {
+ var evt = entrySelectionEvent;
+ if(!this.localSaveOnly){
+ this.atomIO.updateEntry(evt.entry, dojo.hitch(evt.source,evt.callback), null, true);
+ }
+ this._currentSelection._entryWidget.setTime(this._displayDateForEntry(evt.entry).toLocaleTimeString());
+ this._currentSelection._entryWidget.setTitle(evt.entry.title.value);
+ } else if(entrySelectionEvent.action == "post" && entrySelectionEvent.entry) {
+ if(!this.localSaveOnly){
+ this.atomIO.addEntry(entrySelectionEvent.entry, this.url, dojo.hitch(this,this._addEntry));
+ }else{
+ this._addEntry(entrySelectionEvent.entry);
+ }
+ }
+ }
+ },
+
+ _addEntry: function(/*object*/entry) {
+ // summary:
+ // callback function used when adding an entry to the feed.
+ // description:
+ // callback function used when adding an entry to the feed. After the entry has been posted to the feed,
+ // we add it to our feed representation (to show it on the page) and publish an event to update any entry viewers.
+ this._feed.addEntry(entry);
+ this.setFeed(this._feed);
+ dojo.publish(this.entrySelectionTopic, [{ action: "set", source: this, feed: this._feed, entry: entry }]);
+ },
+
+ destroy: function(){
+ // summary:
+ // Destroys this widget, including all descendants and subscriptions.
+ // description:
+ // Destroys this widget, including all descendants and subscriptions.
+ this.clear();
+ dojo.forEach(this._subscriptions, dojo.unsubscribe);
+ }
+});
+
+dojo.declare("dojox.atom.widget.FeedViewerEntry",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // Widget for handling the display of an entry and specific events associated with it.
+ // description: Widget for handling the display of an entry and specific events associated with it.
+
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewerEntry.html", "<tr class=\"feedViewerEntry\" dojoAttachPoint=\"entryNode\" dojoAttachEvent=\"onclick:onClick\">\r\n <td class=\"feedViewerEntryUpdated\" dojoAttachPoint=\"timeNode\">\r\n </td>\r\n <td>\r\n <table border=\"0\" width=\"100%\" dojoAttachPoint=\"titleRow\">\r\n <tr padding=\"0\" border=\"0\">\r\n <td class=\"feedViewerEntryTitle\" dojoAttachPoint=\"titleNode\">\r\n </td>\r\n <td class=\"feedViewerEntryDelete\" align=\"right\">\r\n <span dojoAttachPoint=\"deleteButton\" dojoAttachEvent=\"onclick:deleteEntry\" class=\"feedViewerDeleteButton\" style=\"display:none;\">[delete]</span>\r\n </td>\r\n <tr>\r\n </table>\r\n </td>\r\n</tr>\r\n"),
+
+ entryNode: null,
+ timeNode: null,
+ deleteButton: null,
+ entry: null,
+ feed: null,
+
+ postCreate: function(){
+ var _nlsResources = dojo.i18n.getLocalization("dojox.atom.widget", "FeedViewerEntry");
+ this.deleteButton.innerHTML = _nlsResources.deleteButton;
+ },
+
+ setTitle: function(/*string*/text){
+ // summary:
+ // Function to set the title of the entry.
+ // description:
+ // Function to set the title of the entry.
+ //
+ // text:
+ // The title.
+ //
+ // returns:
+ // Nothing.
+ if (this.titleNode.lastChild){this.titleNode.removeChild(this.titleNode.lastChild);}
+
+ var titleTextNode = document.createElement("div");
+ titleTextNode.innerHTML = text;
+ this.titleNode.appendChild(titleTextNode);
+ },
+
+ setTime: function(/*string*/timeText){
+ // summary:
+ // Function to set the time of the entry.
+ // description:
+ // Function to set the time of the entry.
+ //
+ // timeText:
+ // The string form of the date.
+ //
+ // returns:
+ // Nothing.
+ if (this.timeNode.lastChild){this.timeNode.removeChild(this.timeNode.lastChild);}
+ var timeTextNode = document.createTextNode(timeText);
+ this.timeNode.appendChild(timeTextNode);
+ },
+
+ enableDelete: function(){
+ // summary:
+ // Function to enable the delete action on this entry.
+ // description:
+ // Function to enable the delete action on this entry.
+ //
+ // returns:
+ // Nothing.
+ if (this.deleteButton !== null) {
+ //TODO Fix this
+ this.deleteButton.style.display = 'inline';
+ }
+ },
+
+ disableDelete: function(){
+ // summary:
+ // Function to disable the delete action on this entry.
+ // description:
+ // Function to disable the delete action on this entry.
+ //
+ // returns:
+ // Nothing.
+ if (this.deleteButton !== null) {
+ this.deleteButton.style.display = 'none';
+ }
+ },
+
+ deleteEntry: function(/*object*/event) {
+ // summary:
+ // Function to handle the delete event and delete the entry.
+ // description:
+ // Function to handle the delete event and delete the entry.
+ //
+ // returns:
+ // Nothing.
+ event.preventDefault();
+ event.stopPropagation();
+ this.feed.deleteEntry(this);
+ },
+
+ onClick: function(/*object*/e){
+ // summary:
+ // Attach point for when a row is clicked on.
+ // description:
+ // Attach point for when a row is clicked on.
+ //
+ // e:
+ // The event generated by the click.
+ }
+});
+
+dojo.declare("dojox.atom.widget.FeedViewerGrouping",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // Grouping of feed entries.
+ // description:
+ // Grouping of feed entries.
+ templateString: dojo.cache("dojox.atom", "widget/templates/FeedViewerGrouping.html", "<tr dojoAttachPoint=\"groupingNode\" class=\"feedViewerGrouping\">\r\n\t<td colspan=\"2\" dojoAttachPoint=\"titleNode\" class=\"feedViewerGroupingTitle\">\r\n\t</td>\r\n</tr>\r\n"),
+
+ groupingNode: null,
+ titleNode: null,
+
+ setText: function(text){
+ // summary:
+ // Sets the text to be shown above this grouping.
+ // description:
+ // Sets the text to be shown above this grouping.
+ //
+ // text:
+ // The text to show.
+ if (this.titleNode.lastChild){this.titleNode.removeChild(this.titleNode.lastChild);}
+ var textNode = document.createTextNode(text);
+ this.titleNode.appendChild(textNode);
+ }
+});
+
+dojo.declare("dojox.atom.widget.AtomEntryCategoryFilter",[dijit._Widget, dijit._Templated],{
+ // summary:
+ // A filter to be applied to the list of entries.
+ // description:
+ // A filter to be applied to the list of entries.
+ scheme: "",
+ term: "",
+ label: "",
+ isFilter: true
+});
+
+dojo.declare("dojox.atom.widget.FeedViewer.CategoryIncludeFilter",null,{
+ constructor: function(scheme, term, label){
+ // summary:
+ // The initializer function.
+ // description:
+ // The initializer function.
+ this.scheme = scheme;
+ this.term = term;
+ this.label = label;
+ },
+
+ match: function(entry) {
+ // summary:
+ // Function to determine if this category filter matches against a category on an atom entry
+ // description:
+ // Function to determine if this category filter matches against a category on an atom entry
+ //
+ // returns:
+ // boolean denoting if this category filter matched to this entry.
+ var matched = false;
+ if (entry !== null) {
+ var categories = entry.categories;
+ if (categories !== null) {
+ for (var i = 0; i < categories.length; i++) {
+ var category = categories[i];
+
+ if (this.scheme !== "") {
+ if (this.scheme !== category.scheme) {
+ break;
+ }
+ }
+
+ if (this.term !== "") {
+ if (this.term !== category.term) {
+ break;
+ }
+ }
+
+ if (this.label !== "") {
+ if (this.label !== category.label) {
+ break;
+ }
+ }
+ //Made it this far, everything matched.
+ matched = true;
+ }
+ }
+ }
+ return matched;
+ }
+});
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.js new file mode 100644 index 0000000..f7f1558 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[edit]","save":"[save]","cancel":"[cancel]","doNew":"[new]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.xd.js new file mode 100644 index 0000000..a4e323d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "", ({"edit":"[edit]","save":"[save]","cancel":"[cancel]","doNew":"[new]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.js new file mode 100644 index 0000000..b294695 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[close]","title":"Title","authors":"Authors","summary":"Summary","content":"Content","contributors":"Contributors","updated":"Updated","displayOptions":"[display options]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.xd.js new file mode 100644 index 0000000..6517aa1 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "", ({"close":"[close]","title":"Title","authors":"Authors","summary":"Summary","content":"Content","contributors":"Contributors","updated":"Updated","displayOptions":"[display options]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.js new file mode 100644 index 0000000..6c686ff --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Delete]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.xd.js new file mode 100644 index 0000000..c7cabff --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "", ({"deleteButton":"[Delete]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.js new file mode 100644 index 0000000..0f56092 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Add","addAuthor":"Add Author","addContributor":"Add Contributor"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.xd.js new file mode 100644 index 0000000..2413283 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "", ({"add":"Add","addAuthor":"Add Author","addContributor":"Add Contributor"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.js new file mode 100644 index 0000000..e6c013f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[تحرير]","save":"[حفظ]","cancel":"[الغاء]","doNew":"[جديد]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.xd.js new file mode 100644 index 0000000..b1d265c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ar.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ar.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ar", ({"edit":"[تحرير]","save":"[حفظ]","cancel":"[الغاء]","doNew":"[جديد]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.js new file mode 100644 index 0000000..fdaea31 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[اغلاق]","title":"العنوان","authors":"المؤلفين","summary":"الملخص","content":"محتويات","contributors":"المساهمين","updated":"تعديل في","displayOptions":"[اختيارات العرض]","id":"الكود"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.xd.js new file mode 100644 index 0000000..a548148 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ar.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ar.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ar", ({"close":"[اغلاق]","title":"العنوان","authors":"المؤلفين","summary":"الملخص","content":"محتويات","contributors":"المساهمين","updated":"تعديل في","displayOptions":"[اختيارات العرض]","id":"الكود"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.js new file mode 100644 index 0000000..3f7a4bd --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[حذف]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.xd.js new file mode 100644 index 0000000..1eb44cb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ar.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ar.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ar", ({"deleteButton":"[حذف]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.js new file mode 100644 index 0000000..d09ba5d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"اضافة","addAuthor":"اضافة مؤلف","addContributor":"اضافة مشارك"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.xd.js new file mode 100644 index 0000000..97de311 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ar/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ar.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ar.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ar", ({"add":"اضافة","addAuthor":"اضافة مؤلف","addContributor":"اضافة مشارك"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.js new file mode 100644 index 0000000..961d3bc --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[edita]","save":"[desa]","cancel":"[cancel·la]","doNew":"[nou]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.xd.js new file mode 100644 index 0000000..6dbadbd --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ca.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ca.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ca", ({"edit":"[edita]","save":"[desa]","cancel":"[cancel·la]","doNew":"[nou]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.js new file mode 100644 index 0000000..d69249f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[tanca]","title":"Títol","authors":"Autors","summary":"Resum","content":"Contingut","contributors":"Col·laboradors","updated":"Actualitzat","displayOptions":"[mostra opcions]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.xd.js new file mode 100644 index 0000000..089c269 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ca.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ca.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ca", ({"close":"[tanca]","title":"Títol","authors":"Autors","summary":"Resum","content":"Contingut","contributors":"Col·laboradors","updated":"Actualitzat","displayOptions":"[mostra opcions]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.js new file mode 100644 index 0000000..169d596 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Suprimeix]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.xd.js new file mode 100644 index 0000000..318a314 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ca.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ca.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ca", ({"deleteButton":"[Suprimeix]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.js new file mode 100644 index 0000000..ca16393 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Afegeix","addAuthor":"Afegeix un autor","addContributor":"Afegeix un col·laborador"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.xd.js new file mode 100644 index 0000000..cfede0e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ca/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ca.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ca.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ca", ({"add":"Afegeix","addAuthor":"Afegeix un autor","addContributor":"Afegeix un col·laborador"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.js new file mode 100644 index 0000000..45f2997 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[upravit]","save":"[uložit]","cancel":"[storno]","doNew":"[nové]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.xd.js new file mode 100644 index 0000000..f252794 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.cs.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.cs.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "cs", ({"edit":"[upravit]","save":"[uložit]","cancel":"[storno]","doNew":"[nové]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.js new file mode 100644 index 0000000..98e8851 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[zavřít]","title":"Název","authors":"Autoři","summary":"Souhrn","content":"Obsah","contributors":"Přispěvatelé","updated":"Aktualizováno","displayOptions":"[volby zobrazení]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.xd.js new file mode 100644 index 0000000..e81931a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.cs.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.cs.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "cs", ({"close":"[zavřít]","title":"Název","authors":"Autoři","summary":"Souhrn","content":"Obsah","contributors":"Přispěvatelé","updated":"Aktualizováno","displayOptions":"[volby zobrazení]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.js new file mode 100644 index 0000000..af02c93 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Odstranit]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.xd.js new file mode 100644 index 0000000..900dc39 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.cs.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.cs.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "cs", ({"deleteButton":"[Odstranit]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.js new file mode 100644 index 0000000..d437043 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Přidat","addAuthor":"Přidat autora","addContributor":"Přidat přispěvatele"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.xd.js new file mode 100644 index 0000000..897be82 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/cs/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.cs.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.cs.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "cs", ({"add":"Přidat","addAuthor":"Přidat autora","addContributor":"Přidat přispěvatele"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.js new file mode 100644 index 0000000..0acccc0 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[redigér]","save":"[gem]","cancel":"[annullér]","doNew":"[ny]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.xd.js new file mode 100644 index 0000000..c6146a4 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.da.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.da.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "da", ({"edit":"[redigér]","save":"[gem]","cancel":"[annullér]","doNew":"[ny]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.js new file mode 100644 index 0000000..5187b82 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[luk]","title":"Titel","authors":"Forfattere","summary":"Resumé","content":"Indhold","contributors":"Bidragydere","updated":"Opdateret","displayOptions":"[fremvisningsvalg]","id":"Id"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.xd.js new file mode 100644 index 0000000..0fb7cef --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.da.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.da.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "da", ({"close":"[luk]","title":"Titel","authors":"Forfattere","summary":"Resumé","content":"Indhold","contributors":"Bidragydere","updated":"Opdateret","displayOptions":"[fremvisningsvalg]","id":"Id"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.js new file mode 100644 index 0000000..8a161c2 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Slet]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.xd.js new file mode 100644 index 0000000..8eea575 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.da.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.da.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "da", ({"deleteButton":"[Slet]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.js new file mode 100644 index 0000000..43aaa23 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Tilføj","addAuthor":"Tilføj forfatter","addContributor":"Tilføj bidragyder"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.xd.js new file mode 100644 index 0000000..559fe4d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/da/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.da.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.da.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "da", ({"add":"Tilføj","addAuthor":"Tilføj forfatter","addContributor":"Tilføj bidragyder"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.js new file mode 100644 index 0000000..c5a85ae --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[Bearbeiten]","save":"[Speichern]","cancel":"[Abbrechen]","doNew":"[Neu]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.xd.js new file mode 100644 index 0000000..ae4d5cf --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.de.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.de.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "de", ({"edit":"[Bearbeiten]","save":"[Speichern]","cancel":"[Abbrechen]","doNew":"[Neu]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.js new file mode 100644 index 0000000..68976fb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[Schließen]","title":"Titel","authors":"Autoren","summary":"Zusammenfassung","content":"Inhalt","contributors":"Mitwirkende","updated":"Aktualisiert","displayOptions":"[Anzeigeoptionen]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.xd.js new file mode 100644 index 0000000..e46f4f4 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.de.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.de.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "de", ({"close":"[Schließen]","title":"Titel","authors":"Autoren","summary":"Zusammenfassung","content":"Inhalt","contributors":"Mitwirkende","updated":"Aktualisiert","displayOptions":"[Anzeigeoptionen]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.js new file mode 100644 index 0000000..4bc5c03 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Löschen]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.xd.js new file mode 100644 index 0000000..cd8a708 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.de.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.de.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "de", ({"deleteButton":"[Löschen]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.js new file mode 100644 index 0000000..fdaff2f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Hinzufügen","addAuthor":"Autor hinzufügen","addContributor":"Mitwirkenden hinzufügen"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.xd.js new file mode 100644 index 0000000..6de2e77 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/de/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.de.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.de.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "de", ({"add":"Hinzufügen","addAuthor":"Autor hinzufügen","addContributor":"Mitwirkenden hinzufügen"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.js new file mode 100644 index 0000000..3cf776b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[τροποποίηση]","save":"[αποθήκευση]","cancel":"[ακύρωση]","doNew":"[δημιουργία]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.xd.js new file mode 100644 index 0000000..13762ee --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.el.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.el.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "el", ({"edit":"[τροποποίηση]","save":"[αποθήκευση]","cancel":"[ακύρωση]","doNew":"[δημιουργία]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.js new file mode 100644 index 0000000..45d95c6 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[κλείσιμο]","title":"Τίτλος","authors":"Συντάκτες","summary":"Περίληψη","content":"Περιεχόμενο","contributors":"Συνεισφέροντες","updated":"Ενημερώθηκε","displayOptions":"[επιλογές παρουσίασης]","id":"Ταυτότητα"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.xd.js new file mode 100644 index 0000000..abc0c18 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.el.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.el.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "el", ({"close":"[κλείσιμο]","title":"Τίτλος","authors":"Συντάκτες","summary":"Περίληψη","content":"Περιεχόμενο","contributors":"Συνεισφέροντες","updated":"Ενημερώθηκε","displayOptions":"[επιλογές παρουσίασης]","id":"Ταυτότητα"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.js new file mode 100644 index 0000000..db087e4 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Διαγραφή]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.xd.js new file mode 100644 index 0000000..bc9e6a9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.el.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.el.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "el", ({"deleteButton":"[Διαγραφή]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.js new file mode 100644 index 0000000..74604b0 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Προσθήκη","addAuthor":"Προσθήκη συντάκτη","addContributor":"Προσθήκη συνεισφέροντα"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.xd.js new file mode 100644 index 0000000..8c01cd9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/el/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.el.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.el.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "el", ({"add":"Προσθήκη","addAuthor":"Προσθήκη συντάκτη","addContributor":"Προσθήκη συνεισφέροντα"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.js new file mode 100644 index 0000000..426e7ad --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[editar]","save":"[guardar]","cancel":"[cancelar]","doNew":"[nuevo]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.xd.js new file mode 100644 index 0000000..5bb121b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.es.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.es.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "es", ({"edit":"[editar]","save":"[guardar]","cancel":"[cancelar]","doNew":"[nuevo]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.js new file mode 100644 index 0000000..d0d7a9a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[cerrar]","title":"Título","authors":"Autores","summary":"Resumen","content":"Contenido","contributors":"Colaboradores","updated":"Actualizado","displayOptions":"[opciones de visualización]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.xd.js new file mode 100644 index 0000000..38506d9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.es.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.es.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "es", ({"close":"[cerrar]","title":"Título","authors":"Autores","summary":"Resumen","content":"Contenido","contributors":"Colaboradores","updated":"Actualizado","displayOptions":"[opciones de visualización]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.js new file mode 100644 index 0000000..c33cee5 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Suprimir]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.xd.js new file mode 100644 index 0000000..8bd9c6d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.es.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.es.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "es", ({"deleteButton":"[Suprimir]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.js new file mode 100644 index 0000000..6ed1de3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Añadir","addAuthor":"Añadir autor","addContributor":"Añadir colaborador"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.xd.js new file mode 100644 index 0000000..36f6b66 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/es/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.es.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.es.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "es", ({"add":"Añadir","addAuthor":"Añadir autor","addContributor":"Añadir colaborador"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.js new file mode 100644 index 0000000..0bc76af --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[muokkaa]","save":"[tallenna]","cancel":"[peruuta]","doNew":"[uusi]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.xd.js new file mode 100644 index 0000000..ba4f295 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fi.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fi.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "fi", ({"edit":"[muokkaa]","save":"[tallenna]","cancel":"[peruuta]","doNew":"[uusi]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.js new file mode 100644 index 0000000..516e564 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[sulje]","title":"Otsikko","authors":"Tekijät","summary":"Tiivistelmä","content":"Sisältö","contributors":"Lisääjät","updated":"Päivitetty","displayOptions":"[näyttöasetukset]","id":"Tunnus"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.xd.js new file mode 100644 index 0000000..9863774 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fi.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fi.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "fi", ({"close":"[sulje]","title":"Otsikko","authors":"Tekijät","summary":"Tiivistelmä","content":"Sisältö","contributors":"Lisääjät","updated":"Päivitetty","displayOptions":"[näyttöasetukset]","id":"Tunnus"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.js new file mode 100644 index 0000000..832e2c4 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Poista]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.xd.js new file mode 100644 index 0000000..2ac8ed7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fi.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fi.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "fi", ({"deleteButton":"[Poista]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.js new file mode 100644 index 0000000..3cadd3f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Lisää","addAuthor":"Lisää tekijä","addContributor":"Lisää lisääjä"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.xd.js new file mode 100644 index 0000000..ce6f16d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fi/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fi.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fi.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "fi", ({"add":"Lisää","addAuthor":"Lisää tekijä","addContributor":"Lisää lisääjä"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.js new file mode 100644 index 0000000..ff19654 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[éditer]","save":"[sauvegarder]","cancel":"[annuler]","doNew":"[nouveau]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.xd.js new file mode 100644 index 0000000..61bec8e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fr.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fr.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "fr", ({"edit":"[éditer]","save":"[sauvegarder]","cancel":"[annuler]","doNew":"[nouveau]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.js new file mode 100644 index 0000000..93c0cbc --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[fermer]","title":"Titre","authors":"Auteurs","summary":"Récapitulatif","content":"Contenu","contributors":"Collaborateurs","updated":"Mis à jour","displayOptions":"[options d'affichage]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.xd.js new file mode 100644 index 0000000..91466ba --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fr.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fr.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "fr", ({"close":"[fermer]","title":"Titre","authors":"Auteurs","summary":"Récapitulatif","content":"Contenu","contributors":"Collaborateurs","updated":"Mis à jour","displayOptions":"[options d'affichage]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.js new file mode 100644 index 0000000..8003cbb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Supprimer]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.xd.js new file mode 100644 index 0000000..ce861e4 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fr.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fr.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "fr", ({"deleteButton":"[Supprimer]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.js new file mode 100644 index 0000000..5b7d866 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Ajouter","addAuthor":"Ajouter un auteur","addContributor":"Ajouter un collaborateur"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.xd.js new file mode 100644 index 0000000..0b56a02 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/fr/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.fr.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.fr.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "fr", ({"add":"Ajouter","addAuthor":"Ajouter un auteur","addContributor":"Ajouter un collaborateur"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.js new file mode 100644 index 0000000..569ea3b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[עריכה]","save":"[שמירה]","cancel":"[ביטול]","doNew":"[חדש]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.xd.js new file mode 100644 index 0000000..b6ef34b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.he.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.he.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "he", ({"edit":"[עריכה]","save":"[שמירה]","cancel":"[ביטול]","doNew":"[חדש]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.js new file mode 100644 index 0000000..3177a3c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[סגירה]","title":"כותרת","authors":"מחברים","summary":"סיכום","content":"תוכן","contributors":"תורמים","updated":"עודכן","displayOptions":"[אפשרויות הצגה]","id":"זיהוי"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.xd.js new file mode 100644 index 0000000..12412a9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.he.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.he.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "he", ({"close":"[סגירה]","title":"כותרת","authors":"מחברים","summary":"סיכום","content":"תוכן","contributors":"תורמים","updated":"עודכן","displayOptions":"[אפשרויות הצגה]","id":"זיהוי"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.js new file mode 100644 index 0000000..4bb6ba0 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[מחיקה]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.xd.js new file mode 100644 index 0000000..ec5887c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.he.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.he.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "he", ({"deleteButton":"[מחיקה]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.js new file mode 100644 index 0000000..00120d8 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"הוספה","addAuthor":"הוספת מחבר","addContributor":"הוספת תורם"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.xd.js new file mode 100644 index 0000000..31778c7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/he/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.he.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.he.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "he", ({"add":"הוספה","addAuthor":"הוספת מחבר","addContributor":"הוספת תורם"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.js new file mode 100644 index 0000000..9686e11 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[szerkesztés]","save":"[mentés]","cancel":"[mégse]","doNew":"[új]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.xd.js new file mode 100644 index 0000000..e98dd17 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.hu.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.hu.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "hu", ({"edit":"[szerkesztés]","save":"[mentés]","cancel":"[mégse]","doNew":"[új]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.js new file mode 100644 index 0000000..c0f4853 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[bezárás]","title":"Cím","authors":"Szerzők","summary":"Összegzés","content":"Tartalom","contributors":"Közreműködők","updated":"Frissítve","displayOptions":"[megjelenítési beállítások]","id":"Azonosító"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.xd.js new file mode 100644 index 0000000..14cbeac --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.hu.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.hu.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "hu", ({"close":"[bezárás]","title":"Cím","authors":"Szerzők","summary":"Összegzés","content":"Tartalom","contributors":"Közreműködők","updated":"Frissítve","displayOptions":"[megjelenítési beállítások]","id":"Azonosító"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.js new file mode 100644 index 0000000..a826114 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Törlés]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.xd.js new file mode 100644 index 0000000..b3fd1d3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.hu.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.hu.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "hu", ({"deleteButton":"[Törlés]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.js new file mode 100644 index 0000000..6ffe97c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Hozzáadás","addAuthor":"Szerző hozzáadása","addContributor":"Közreműködő hozzáadása"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.xd.js new file mode 100644 index 0000000..f764a86 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/hu/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.hu.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.hu.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "hu", ({"add":"Hozzáadás","addAuthor":"Szerző hozzáadása","addContributor":"Közreműködő hozzáadása"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.js new file mode 100644 index 0000000..408de78 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[modifica]","save":"[salva]","cancel":"[annulla]","doNew":"[nuovo]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.xd.js new file mode 100644 index 0000000..ee7f623 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.it.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.it.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "it", ({"edit":"[modifica]","save":"[salva]","cancel":"[annulla]","doNew":"[nuovo]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.js new file mode 100644 index 0000000..3cc33ac --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[chiudi]","title":"Titolo","authors":"Autori","summary":"Riepilogo","content":"Indice","contributors":"Collaboratori","updated":"Aggiornato","displayOptions":"[visualizza opzioni]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.xd.js new file mode 100644 index 0000000..c43a32c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.it.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.it.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "it", ({"close":"[chiudi]","title":"Titolo","authors":"Autori","summary":"Riepilogo","content":"Indice","contributors":"Collaboratori","updated":"Aggiornato","displayOptions":"[visualizza opzioni]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.js new file mode 100644 index 0000000..3a0fa24 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Cancella]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.xd.js new file mode 100644 index 0000000..a57fd1d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.it.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.it.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "it", ({"deleteButton":"[Cancella]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.js new file mode 100644 index 0000000..82b4f5b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Aggiungi","addAuthor":"Aggiungi autore","addContributor":"Aggiungi collaboratori"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.xd.js new file mode 100644 index 0000000..3b1fd5d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/it/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.it.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.it.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "it", ({"add":"Aggiungi","addAuthor":"Aggiungi autore","addContributor":"Aggiungi collaboratori"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.js new file mode 100644 index 0000000..ca8986a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[編集]","save":"[保存]","cancel":"[キャンセル]","doNew":"[新規]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.xd.js new file mode 100644 index 0000000..2c658c2 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ja.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ja.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ja", ({"edit":"[編集]","save":"[保存]","cancel":"[キャンセル]","doNew":"[新規]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.js new file mode 100644 index 0000000..b935c62 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[閉じる]","title":"タイトル","authors":"作成者","summary":"要約","content":"内容","contributors":"貢献者","updated":"更新","displayOptions":"[表示オプション]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.xd.js new file mode 100644 index 0000000..a02bbb7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ja.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ja.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ja", ({"close":"[閉じる]","title":"タイトル","authors":"作成者","summary":"要約","content":"内容","contributors":"貢献者","updated":"更新","displayOptions":"[表示オプション]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.js new file mode 100644 index 0000000..6dcdea0 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[削除]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.xd.js new file mode 100644 index 0000000..038919a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ja.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ja.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ja", ({"deleteButton":"[削除]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.js new file mode 100644 index 0000000..203fc3f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"追加","addAuthor":"作成者の追加","addContributor":"貢献者の追加"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.xd.js new file mode 100644 index 0000000..f3244ec --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ja/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ja.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ja.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ja", ({"add":"追加","addAuthor":"作成者の追加","addContributor":"貢献者の追加"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.js new file mode 100644 index 0000000..7b70d17 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[өңдеу]","save":"[сақтау]","cancel":"[болдырмау]","doNew":"[жаңа]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.xd.js new file mode 100644 index 0000000..70e54d7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.kk.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.kk.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "kk", ({"edit":"[өңдеу]","save":"[сақтау]","cancel":"[болдырмау]","doNew":"[жаңа]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.js new file mode 100644 index 0000000..ef51d05 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[жабу]","title":"Тақырып","authors":"Авторлар","summary":"Жиынтық","content":"Мазмұн","contributors":"Таратушылар","updated":"Жаңартылған","displayOptions":"[көрсету параметрлері]","id":"ID коды"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.xd.js new file mode 100644 index 0000000..4e2df4d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.kk.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.kk.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "kk", ({"close":"[жабу]","title":"Тақырып","authors":"Авторлар","summary":"Жиынтық","content":"Мазмұн","contributors":"Таратушылар","updated":"Жаңартылған","displayOptions":"[көрсету параметрлері]","id":"ID коды"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.js new file mode 100644 index 0000000..e2d9625 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Жою]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.xd.js new file mode 100644 index 0000000..ee5c9c6 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.kk.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.kk.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "kk", ({"deleteButton":"[Жою]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.js new file mode 100644 index 0000000..a4774f6 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Қосу","addAuthor":"Авторды қосу","addContributor":"Салымшыны қосу"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.xd.js new file mode 100644 index 0000000..45fc591 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/kk/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.kk.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.kk.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "kk", ({"add":"Қосу","addAuthor":"Авторды қосу","addContributor":"Салымшыны қосу"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.js new file mode 100644 index 0000000..227d37f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[편집]","save":"[저장]","cancel":"[취소]","doNew":"[새로 작성]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.xd.js new file mode 100644 index 0000000..cfa054b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ko.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ko.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ko", ({"edit":"[편집]","save":"[저장]","cancel":"[취소]","doNew":"[새로 작성]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.js new file mode 100644 index 0000000..b06ce59 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[닫기]","title":"제목","authors":"작성자","summary":"요약","content":"컨텐츠","contributors":"기고자","updated":"업데이트된 날짜","displayOptions":"[옵션 표시]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.xd.js new file mode 100644 index 0000000..0e1d172 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ko.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ko.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ko", ({"close":"[닫기]","title":"제목","authors":"작성자","summary":"요약","content":"컨텐츠","contributors":"기고자","updated":"업데이트된 날짜","displayOptions":"[옵션 표시]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.js new file mode 100644 index 0000000..98b1b3f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[삭제]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.xd.js new file mode 100644 index 0000000..ea7812e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ko.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ko.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ko", ({"deleteButton":"[삭제]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.js new file mode 100644 index 0000000..ac52411 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"추가","addAuthor":"작성자 추가","addContributor":"제공자 추가"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.xd.js new file mode 100644 index 0000000..56a3456 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ko/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ko.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ko.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ko", ({"add":"추가","addAuthor":"작성자 추가","addContributor":"제공자 추가"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.js new file mode 100644 index 0000000..3b482ed --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[rediger]","save":"[lagre]","cancel":"[avbryt]","doNew":"[ny(tt)]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.xd.js new file mode 100644 index 0000000..e837deb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nb.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nb.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "nb", ({"edit":"[rediger]","save":"[lagre]","cancel":"[avbryt]","doNew":"[ny(tt)]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.js new file mode 100644 index 0000000..f888d28 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[lukk]","title":"Tittel","authors":"Forfattere","summary":"Sammendrag","content":"Innhold","contributors":"Bidragsytere","updated":"Oppdatert","displayOptions":"[visningsalternativer]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.xd.js new file mode 100644 index 0000000..559673e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nb.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nb.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "nb", ({"close":"[lukk]","title":"Tittel","authors":"Forfattere","summary":"Sammendrag","content":"Innhold","contributors":"Bidragsytere","updated":"Oppdatert","displayOptions":"[visningsalternativer]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.js new file mode 100644 index 0000000..8e38e59 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Slett]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.xd.js new file mode 100644 index 0000000..31c5ee3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nb.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nb.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "nb", ({"deleteButton":"[Slett]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.js new file mode 100644 index 0000000..05ac102 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Legg til","addAuthor":"Legg til forfatter","addContributor":"Legg til bidragsyter"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.xd.js new file mode 100644 index 0000000..b5d3930 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nb/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nb.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nb.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "nb", ({"add":"Legg til","addAuthor":"Legg til forfatter","addContributor":"Legg til bidragsyter"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.js new file mode 100644 index 0000000..0714571 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[bewerken]","save":"[opslaan]","cancel":"[annuleren]","doNew":"[nieuw]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.xd.js new file mode 100644 index 0000000..c273c87 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nl.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nl.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "nl", ({"edit":"[bewerken]","save":"[opslaan]","cancel":"[annuleren]","doNew":"[nieuw]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.js new file mode 100644 index 0000000..294f590 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[sluiten]","title":"Titel","authors":"Auteurs","summary":"Overzicht","content":"Content","contributors":"Deelnemers","updated":"Bijgewerkt","displayOptions":"[weergaveopties]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.xd.js new file mode 100644 index 0000000..98349cb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nl.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nl.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "nl", ({"close":"[sluiten]","title":"Titel","authors":"Auteurs","summary":"Overzicht","content":"Content","contributors":"Deelnemers","updated":"Bijgewerkt","displayOptions":"[weergaveopties]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.js new file mode 100644 index 0000000..31a12d7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Wissen]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.xd.js new file mode 100644 index 0000000..9067793 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nl.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nl.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "nl", ({"deleteButton":"[Wissen]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.js new file mode 100644 index 0000000..e8dd783 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Toevoegen","addAuthor":"Auteur toevoegen","addContributor":"Deelnemer toevoegen"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.xd.js new file mode 100644 index 0000000..ecf2577 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/nl/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.nl.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.nl.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "nl", ({"add":"Toevoegen","addAuthor":"Auteur toevoegen","addContributor":"Deelnemer toevoegen"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.js new file mode 100644 index 0000000..8693a71 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[edytuj]","save":"[zapisz]","cancel":"[anuluj]","doNew":"[nowy]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.xd.js new file mode 100644 index 0000000..69f7277 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pl.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pl.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "pl", ({"edit":"[edytuj]","save":"[zapisz]","cancel":"[anuluj]","doNew":"[nowy]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.js new file mode 100644 index 0000000..30589b7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[zamknij]","title":"Tytuł","authors":"Autorzy","summary":"Podsumowanie","content":"Treść","contributors":"Kontrybutorzy","updated":"Zaktualizowano","displayOptions":"[opcje wyświetlania]","id":"Identyfikator"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.xd.js new file mode 100644 index 0000000..8c18318 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pl.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pl.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "pl", ({"close":"[zamknij]","title":"Tytuł","authors":"Autorzy","summary":"Podsumowanie","content":"Treść","contributors":"Kontrybutorzy","updated":"Zaktualizowano","displayOptions":"[opcje wyświetlania]","id":"Identyfikator"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.js new file mode 100644 index 0000000..b6a347e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Usuń]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.xd.js new file mode 100644 index 0000000..a118f96 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pl.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pl.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "pl", ({"deleteButton":"[Usuń]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.js new file mode 100644 index 0000000..baa45b1 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Dodaj","addAuthor":"Dodaj autora","addContributor":"Dodaj kontrybutora"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.xd.js new file mode 100644 index 0000000..b0edb9a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pl/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pl.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pl.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "pl", ({"add":"Dodaj","addAuthor":"Dodaj autora","addContributor":"Dodaj kontrybutora"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.js new file mode 100644 index 0000000..c87f234 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[editar]","save":"[guardar]","cancel":"[cancelar]","doNew":"[novo]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.xd.js new file mode 100644 index 0000000..55a2c4b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt-pt.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt-pt.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "pt-pt", ({"edit":"[editar]","save":"[guardar]","cancel":"[cancelar]","doNew":"[novo]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.js new file mode 100644 index 0000000..40b3f60 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[fechar]","title":"Título","authors":"Autores","summary":"Resumo","content":"Conteúdo","contributors":"Contribuintes","updated":"Actualizado","displayOptions":"[opções de visualização]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.xd.js new file mode 100644 index 0000000..be29c4b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt-pt.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt-pt.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "pt-pt", ({"close":"[fechar]","title":"Título","authors":"Autores","summary":"Resumo","content":"Conteúdo","contributors":"Contribuintes","updated":"Actualizado","displayOptions":"[opções de visualização]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.js new file mode 100644 index 0000000..de9f60e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Eliminar]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.xd.js new file mode 100644 index 0000000..dbebd9f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt-pt.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt-pt.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "pt-pt", ({"deleteButton":"[Eliminar]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.js new file mode 100644 index 0000000..e89d433 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Adicionar","addAuthor":"Adicionar autor","addContributor":"Adicionar contribuinte"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.xd.js new file mode 100644 index 0000000..78f1239 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt-pt/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt-pt.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt-pt.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "pt-pt", ({"add":"Adicionar","addAuthor":"Adicionar autor","addContributor":"Adicionar contribuinte"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.js new file mode 100644 index 0000000..ab9981a --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[editar]","save":"[salvar]","cancel":"[cancelar]","doNew":"[novo]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.xd.js new file mode 100644 index 0000000..f272489 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "pt", ({"edit":"[editar]","save":"[salvar]","cancel":"[cancelar]","doNew":"[novo]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.js new file mode 100644 index 0000000..bc12eea --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[fechar]","title":"Título","authors":"Autores","summary":"Resumo","content":"Conteúdo","contributors":"Contribuidores","updated":"Atualizado","displayOptions":"[exibir opções]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.xd.js new file mode 100644 index 0000000..766408b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "pt", ({"close":"[fechar]","title":"Título","authors":"Autores","summary":"Resumo","content":"Conteúdo","contributors":"Contribuidores","updated":"Atualizado","displayOptions":"[exibir opções]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.js new file mode 100644 index 0000000..74e0657 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Excluir]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.xd.js new file mode 100644 index 0000000..c650c64 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "pt", ({"deleteButton":"[Excluir]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.js new file mode 100644 index 0000000..76752ef --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Adicionar","addAuthor":"Adicionar Autor","addContributor":"Adicionar Contribuidor"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.xd.js new file mode 100644 index 0000000..ec8816f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/pt/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.pt.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.pt.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "pt", ({"add":"Adicionar","addAuthor":"Adicionar Autor","addContributor":"Adicionar Contribuidor"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.js new file mode 100644 index 0000000..de58f00 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[editare]","save":"[salvare]","cancel":"[anulare]","doNew":"[nou]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.xd.js new file mode 100644 index 0000000..e59dfbc --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ro.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ro.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ro", ({"edit":"[editare]","save":"[salvare]","cancel":"[anulare]","doNew":"[nou]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.js new file mode 100644 index 0000000..cf14ca7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[închidere]","title":"Titlu","authors":"Autori","summary":"Sumar","content":"Conţinut","contributors":"Contribuitori","updated":"Actualizat","displayOptions":"[opţiuni afişare]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.xd.js new file mode 100644 index 0000000..8466ab9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ro.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ro.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ro", ({"close":"[închidere]","title":"Titlu","authors":"Autori","summary":"Sumar","content":"Conţinut","contributors":"Contribuitori","updated":"Actualizat","displayOptions":"[opţiuni afişare]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.js new file mode 100644 index 0000000..14fbf09 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Ştergere]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.xd.js new file mode 100644 index 0000000..a18ae88 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ro.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ro.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ro", ({"deleteButton":"[Ştergere]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.js new file mode 100644 index 0000000..0ef3987 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Adăugare","addAuthor":"Adăugare autor","addContributor":"Adăugare contribuitor"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.xd.js new file mode 100644 index 0000000..0c4d97e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ro/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ro.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ro.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ro", ({"add":"Adăugare","addAuthor":"Adăugare autor","addContributor":"Adăugare contribuitor"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.js new file mode 100644 index 0000000..c3a9380 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[изменить]","save":"[сохранить]","cancel":"[отмена]","doNew":"[создать]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.xd.js new file mode 100644 index 0000000..bed4056 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ru.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ru.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "ru", ({"edit":"[изменить]","save":"[сохранить]","cancel":"[отмена]","doNew":"[создать]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.js new file mode 100644 index 0000000..80bf42f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[закрыть]","title":"Название","authors":"Авторы","summary":"Сводка","content":"Информационное наполнение","contributors":"Участники","updated":"Обновлено","displayOptions":"[показать опции]","id":"ИД"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.xd.js new file mode 100644 index 0000000..fe8688f --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ru.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ru.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "ru", ({"close":"[закрыть]","title":"Название","authors":"Авторы","summary":"Сводка","content":"Информационное наполнение","contributors":"Участники","updated":"Обновлено","displayOptions":"[показать опции]","id":"ИД"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.js new file mode 100644 index 0000000..39247e2 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Удалить]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.xd.js new file mode 100644 index 0000000..10f995e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ru.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ru.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "ru", ({"deleteButton":"[Удалить]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.js new file mode 100644 index 0000000..1b8f136 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Добавить","addAuthor":"Добавить автора","addContributor":"Добавить участника"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.xd.js new file mode 100644 index 0000000..6f032a3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/ru/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.ru.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.ru.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "ru", ({"add":"Добавить","addAuthor":"Добавить автора","addContributor":"Добавить участника"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.js new file mode 100644 index 0000000..abc3a1b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[upraviť]","save":"[uložiť]","cancel":"[zrušiť]","doNew":"[nový]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.xd.js new file mode 100644 index 0000000..cb01128 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sk.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sk.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "sk", ({"edit":"[upraviť]","save":"[uložiť]","cancel":"[zrušiť]","doNew":"[nový]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.js new file mode 100644 index 0000000..fbaea41 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[zatvoriť]","title":"Nadpis","authors":"Autori","summary":"Súhrn","content":"Obsah","contributors":"Prispievatelia","updated":"Aktualizovaný","displayOptions":"[zobraziť voľby]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.xd.js new file mode 100644 index 0000000..e16cc04 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sk.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sk.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "sk", ({"close":"[zatvoriť]","title":"Nadpis","authors":"Autori","summary":"Súhrn","content":"Obsah","contributors":"Prispievatelia","updated":"Aktualizovaný","displayOptions":"[zobraziť voľby]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.js new file mode 100644 index 0000000..ff7123d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Vymazať]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.xd.js new file mode 100644 index 0000000..be823d0 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sk.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sk.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "sk", ({"deleteButton":"[Vymazať]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.js new file mode 100644 index 0000000..5a727c1 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Pridať","addAuthor":"Pridať autora","addContributor":"Pridať prispievateľa"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.xd.js new file mode 100644 index 0000000..6cd4887 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sk/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sk.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sk.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "sk", ({"add":"Pridať","addAuthor":"Pridať autora","addContributor":"Pridať prispievateľa"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.js new file mode 100644 index 0000000..8610736 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[urejanje]","save":"[shrani]","cancel":"[prekliči]","doNew":"[novo]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.xd.js new file mode 100644 index 0000000..995d923 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sl.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sl.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "sl", ({"edit":"[urejanje]","save":"[shrani]","cancel":"[prekliči]","doNew":"[novo]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.js new file mode 100644 index 0000000..943aeff --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[zapri]","title":"Naslov","authors":"Avtorji","summary":"Povzetek","content":"Vsebina","contributors":"Kontributorji","updated":"Posodobljeno","displayOptions":"[možnosti prikaza]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.xd.js new file mode 100644 index 0000000..7543c39 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sl.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sl.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "sl", ({"close":"[zapri]","title":"Naslov","authors":"Avtorji","summary":"Povzetek","content":"Vsebina","contributors":"Kontributorji","updated":"Posodobljeno","displayOptions":"[možnosti prikaza]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.js new file mode 100644 index 0000000..020d9bd --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Izbriši]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.xd.js new file mode 100644 index 0000000..2650294 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sl.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sl.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "sl", ({"deleteButton":"[Izbriši]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.js new file mode 100644 index 0000000..71ae3a3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Dodaj","addAuthor":"Dodaj avtorja","addContributor":"Dodaj kontributorja"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.xd.js new file mode 100644 index 0000000..5ca5ca7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sl/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sl.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sl.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "sl", ({"add":"Dodaj","addAuthor":"Dodaj avtorja","addContributor":"Dodaj kontributorja"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.js new file mode 100644 index 0000000..e880f80 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[Redigera]","save":"[Spara]","cancel":"[Avbryt]","doNew":"[Nytt]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.xd.js new file mode 100644 index 0000000..7a8dbc7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sv.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sv.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "sv", ({"edit":"[Redigera]","save":"[Spara]","cancel":"[Avbryt]","doNew":"[Nytt]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.js new file mode 100644 index 0000000..3b58866 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[Stäng]","title":"Rubrik","authors":"Författare","summary":"Sammanfattning","content":"Innehåll","contributors":"Medverkande","updated":"Uppdaterat","displayOptions":"[Visningsalternativ]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.xd.js new file mode 100644 index 0000000..4b5fd1d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sv.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sv.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "sv", ({"close":"[Stäng]","title":"Rubrik","authors":"Författare","summary":"Sammanfattning","content":"Innehåll","contributors":"Medverkande","updated":"Uppdaterat","displayOptions":"[Visningsalternativ]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.js new file mode 100644 index 0000000..41de9cb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Ta bort]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.xd.js new file mode 100644 index 0000000..f5344c9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sv.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sv.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "sv", ({"deleteButton":"[Ta bort]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.js new file mode 100644 index 0000000..5bb2e7e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Lägg till","addAuthor":"Lägg till författare","addContributor":"Lägg till medverkande"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.xd.js new file mode 100644 index 0000000..1dcd9d3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/sv/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.sv.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.sv.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "sv", ({"add":"Lägg till","addAuthor":"Lägg till författare","addContributor":"Lägg till medverkande"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.js new file mode 100644 index 0000000..586f01b --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[แก้ไข]","save":"[บันทึก]","cancel":"[ยกเลิก]","doNew":"[สร้าง]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.xd.js new file mode 100644 index 0000000..9a9e2dd --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.th.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.th.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "th", ({"edit":"[แก้ไข]","save":"[บันทึก]","cancel":"[ยกเลิก]","doNew":"[สร้าง]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.js new file mode 100644 index 0000000..eda9eb7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[ปิด]","title":"ชื่อเรื่อง","authors":"ผู้เขียน","summary":"สรุป","content":"เนื้อหา","contributors":"ผู้อนุเคราะห์","updated":"อัพเดต","displayOptions":"[อ็อพชันการแสดงผล]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.xd.js new file mode 100644 index 0000000..cad0a35 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.th.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.th.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "th", ({"close":"[ปิด]","title":"ชื่อเรื่อง","authors":"ผู้เขียน","summary":"สรุป","content":"เนื้อหา","contributors":"ผู้อนุเคราะห์","updated":"อัพเดต","displayOptions":"[อ็อพชันการแสดงผล]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.js new file mode 100644 index 0000000..ce0cb07 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[ลบ]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.xd.js new file mode 100644 index 0000000..f0a4326 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.th.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.th.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "th", ({"deleteButton":"[ลบ]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.js new file mode 100644 index 0000000..aaac340 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"เพิ่ม","addAuthor":"เพิ่มผู้เขียน","addContributor":"เพิ่มผู้อนุเคราะห์"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.xd.js new file mode 100644 index 0000000..4fb3cfb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/th/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.th.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.th.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "th", ({"add":"เพิ่ม","addAuthor":"เพิ่มผู้เขียน","addContributor":"เพิ่มผู้อนุเคราะห์"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.js new file mode 100644 index 0000000..fbe9891 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[düzenle]","save":"[kaydet]","cancel":"[iptal]","doNew":"[yeni]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.xd.js new file mode 100644 index 0000000..77c4869 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.tr.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.tr.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "tr", ({"edit":"[düzenle]","save":"[kaydet]","cancel":"[iptal]","doNew":"[yeni]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.js new file mode 100644 index 0000000..03a11d3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[kapat]","title":"Başlık","authors":"Yazarlar","summary":"Özet","content":"İçerik","contributors":"Katkıda Bulunanlar","updated":"Güncelleştirildi","displayOptions":"[görüntüleme seçenekleri]","id":"Kimlik"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.xd.js new file mode 100644 index 0000000..2311174 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.tr.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.tr.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "tr", ({"close":"[kapat]","title":"Başlık","authors":"Yazarlar","summary":"Özet","content":"İçerik","contributors":"Katkıda Bulunanlar","updated":"Güncelleştirildi","displayOptions":"[görüntüleme seçenekleri]","id":"Kimlik"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.js new file mode 100644 index 0000000..ce6c932 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[Sil]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.xd.js new file mode 100644 index 0000000..34ed1f5 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.tr.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.tr.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "tr", ({"deleteButton":"[Sil]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.js new file mode 100644 index 0000000..26bade5 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"Ekle","addAuthor":"Yazar Ekle","addContributor":"Katkıda Bulunan Ekle"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.xd.js new file mode 100644 index 0000000..974cc39 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/tr/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.tr.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.tr.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "tr", ({"add":"Ekle","addAuthor":"Yazar Ekle","addContributor":"Katkıda Bulunan Ekle"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.js new file mode 100644 index 0000000..64e5ba5 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[編輯]","save":"[儲存]","cancel":"[取消]","doNew":"[新建]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.xd.js new file mode 100644 index 0000000..9b38187 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh-tw.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh-tw.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "zh-tw", ({"edit":"[編輯]","save":"[儲存]","cancel":"[取消]","doNew":"[新建]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.js new file mode 100644 index 0000000..9a6a323 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[關閉]","title":"標題","authors":"作者","summary":"摘要","content":"內容","contributors":"貢獻者","updated":"已更新","displayOptions":"[顯示選項]","id":"ID"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.xd.js new file mode 100644 index 0000000..31bf3a7 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh-tw.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh-tw.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "zh-tw", ({"close":"[關閉]","title":"標題","authors":"作者","summary":"摘要","content":"內容","contributors":"貢獻者","updated":"已更新","displayOptions":"[顯示選項]","id":"ID"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.js new file mode 100644 index 0000000..9a535ed --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[刪除]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.xd.js new file mode 100644 index 0000000..51fb3e1 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh-tw.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh-tw.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "zh-tw", ({"deleteButton":"[刪除]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.js new file mode 100644 index 0000000..4c0a49c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"新增","addAuthor":"新增作者","addContributor":"新增貢獻者"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.xd.js new file mode 100644 index 0000000..fbcbde2 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh-tw/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh-tw.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh-tw.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "zh-tw", ({"add":"新增","addAuthor":"新增作者","addContributor":"新增貢獻者"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.js new file mode 100644 index 0000000..4d3c31d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.js @@ -0,0 +1 @@ +({"edit":"[编辑]","save":"[保存]","cancel":"[取消]","doNew":"[新建]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.xd.js new file mode 100644 index 0000000..2581e4d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh.FeedEntryEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh.FeedEntryEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryEditor", "zh", ({"edit":"[编辑]","save":"[保存]","cancel":"[取消]","doNew":"[新建]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.js new file mode 100644 index 0000000..fe64bb3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.js @@ -0,0 +1 @@ +({"close":"[关闭]","title":"标题","authors":"作者","summary":"摘要","content":"内容","contributors":"内容添加者","updated":"更新时间","displayOptions":"[显示选项]","id":"标识"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.xd.js new file mode 100644 index 0000000..db10b0d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedEntryViewer.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh.FeedEntryViewer"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh.FeedEntryViewer");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedEntryViewer", "zh", ({"close":"[关闭]","title":"标题","authors":"作者","summary":"摘要","content":"内容","contributors":"内容添加者","updated":"更新时间","displayOptions":"[显示选项]","id":"标识"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.js new file mode 100644 index 0000000..b7ceb52 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.js @@ -0,0 +1 @@ +({"deleteButton":"[删除]"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.xd.js new file mode 100644 index 0000000..a1f1d47 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/FeedViewerEntry.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh.FeedViewerEntry"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh.FeedViewerEntry");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "FeedViewerEntry", "zh", ({"deleteButton":"[删除]"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.js new file mode 100644 index 0000000..fd7eef6 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.js @@ -0,0 +1 @@ +({"add":"添加","addAuthor":"添加作者","addContributor":"添加内容添加者"})
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.xd.js b/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.xd.js new file mode 100644 index 0000000..98de8cb --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/nls/zh/PeopleEditor.xd.js @@ -0,0 +1,5 @@ +dojo._xdResourceLoaded(function(dojo, dijit, dojox){ +return {depends: [["provide", "dojox.atom.widget.nls.zh.PeopleEditor"]], +defineResource: function(dojo, dijit, dojox){dojo.provide("dojox.atom.widget.nls.zh.PeopleEditor");dojo._xdLoadFlattenedBundle("dojox.atom.widget", "PeopleEditor", "zh", ({"add":"添加","addAuthor":"添加作者","addContributor":"添加内容添加者"})
+); +}};});
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/EntryHeader.html b/js/dojo-1.6/dojox/atom/widget/templates/EntryHeader.html new file mode 100644 index 0000000..67d1e81 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/EntryHeader.html @@ -0,0 +1 @@ +<span dojoAttachPoint="entryHeaderNode" class="entryHeaderNode"></span> diff --git a/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryEditor.html b/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryEditor.html new file mode 100644 index 0000000..6a7f445 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryEditor.html @@ -0,0 +1,195 @@ +<div class="feedEntryViewer"> + <table border="0" width="100%" class="feedEntryViewerMenuTable" dojoAttachPoint="feedEntryViewerMenu" style="display: none;"> + <tr width="100%" dojoAttachPoint="entryCheckBoxDisplayOptions"> + <td align="left" dojoAttachPoint="entryNewButton"> + <span class="feedEntryViewerMenu" dojoAttachPoint="doNew" dojoAttachEvent="onclick:_toggleNew"></span> + </td> + <td align="left" dojoAttachPoint="entryEditButton" style="display: none;"> + <span class="feedEntryViewerMenu" dojoAttachPoint="edit" dojoAttachEvent="onclick:_toggleEdit"></span> + </td> + <td align="left" dojoAttachPoint="entrySaveCancelButtons" style="display: none;"> + <span class="feedEntryViewerMenu" dojoAttachPoint="save" dojoAttachEvent="onclick:saveEdits"></span> + <span class="feedEntryViewerMenu" dojoAttachPoint="cancel" dojoAttachEvent="onclick:cancelEdits"></span> + </td> + <td align="right"> + <span class="feedEntryViewerMenu" dojoAttachPoint="displayOptions" dojoAttachEvent="onclick:_toggleOptions"></span> + </td> + </tr> + <tr class="feedEntryViewerDisplayCheckbox" dojoAttachPoint="entryCheckBoxRow" width="100%" style="display: none;"> + <td dojoAttachPoint="feedEntryCelltitle"> + <input type="checkbox" name="title" value="Title" dojoAttachPoint="feedEntryCheckBoxTitle" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelTitle"></label> + </td> + <td dojoAttachPoint="feedEntryCellauthors"> + <input type="checkbox" name="authors" value="Authors" dojoAttachPoint="feedEntryCheckBoxAuthors" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelAuthors"></label> + </td> + <td dojoAttachPoint="feedEntryCellcontributors"> + <input type="checkbox" name="contributors" value="Contributors" dojoAttachPoint="feedEntryCheckBoxContributors" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelContributors"></label> + </td> + <td dojoAttachPoint="feedEntryCellid"> + <input type="checkbox" name="id" value="Id" dojoAttachPoint="feedEntryCheckBoxId" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelId"></label> + </td> + <td rowspan="2" align="right"> + <span class="feedEntryViewerMenu" dojoAttachPoint="close" dojoAttachEvent="onclick:_toggleOptions"></span> + </td> + </tr> + <tr class="feedEntryViewerDisplayCheckbox" dojoAttachPoint="entryCheckBoxRow2" width="100%" style="display: none;"> + <td dojoAttachPoint="feedEntryCellupdated"> + <input type="checkbox" name="updated" value="Updated" dojoAttachPoint="feedEntryCheckBoxUpdated" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelUpdated"></label> + </td> + <td dojoAttachPoint="feedEntryCellsummary"> + <input type="checkbox" name="summary" value="Summary" dojoAttachPoint="feedEntryCheckBoxSummary" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelSummary"></label> + </td> + <td dojoAttachPoint="feedEntryCellcontent"> + <input type="checkbox" name="content" value="Content" dojoAttachPoint="feedEntryCheckBoxContent" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelContent"></label> + </td> + </tr> + </table> + + <table class="feedEntryViewerContainer" border="0" width="100%"> + <tr class="feedEntryViewerTitle" dojoAttachPoint="entryTitleRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryTitleHeader"></span> + </td> + </tr> + <tr> + <td> + <select dojoAttachPoint="entryTitleSelect" dojoAttachEvent="onchange:_switchEditor" style="display: none"> + <option value="text">Text</option> + <option value="html">HTML</option> + <option value="xhtml">XHTML</option> + </select> + </td> + </tr> + <tr> + <td colspan="2" dojoAttachPoint="entryTitleNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerAuthor" dojoAttachPoint="entryAuthorRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryAuthorHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryAuthorNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerContributor" dojoAttachPoint="entryContributorRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryContributorHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryContributorNode" class="feedEntryViewerContributorNames"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerId" dojoAttachPoint="entryIdRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryIdHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryIdNode" class="feedEntryViewerIdText"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerUpdated" dojoAttachPoint="entryUpdatedRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryUpdatedHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryUpdatedNode" class="feedEntryViewerUpdatedText"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerSummary" dojoAttachPoint="entrySummaryRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2" colspan="2"> + <span class="lp" dojoAttachPoint="entrySummaryHeader"></span> + </td> + </tr> + <tr> + <td> + <select dojoAttachPoint="entrySummarySelect" dojoAttachEvent="onchange:_switchEditor" style="display: none"> + <option value="text">Text</option> + <option value="html">HTML</option> + <option value="xhtml">XHTML</option> + </select> + </td> + </tr> + <tr> + <td dojoAttachPoint="entrySummaryNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerContent" dojoAttachPoint="entryContentRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryContentHeader"></span> + </td> + </tr> + <tr> + <td> + <select dojoAttachPoint="entryContentSelect" dojoAttachEvent="onchange:_switchEditor" style="display: none"> + <option value="text">Text</option> + <option value="html">HTML</option> + <option value="xhtml">XHTML</option> + </select> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryContentNode"> + </td> + </tr> + </table> + </td> + </tr> + </table> +</div> diff --git a/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryViewer.html b/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryViewer.html new file mode 100644 index 0000000..408c071 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/FeedEntryViewer.html @@ -0,0 +1,158 @@ +<div class="feedEntryViewer"> + <table border="0" width="100%" class="feedEntryViewerMenuTable" dojoAttachPoint="feedEntryViewerMenu" style="display: none;"> + <tr width="100%" dojoAttachPoint="entryCheckBoxDisplayOptions"> + <td align="right"> + <span class="feedEntryViewerMenu" dojoAttachPoint="displayOptions" dojoAttachEvent="onclick:_toggleOptions"></span> + </td> + </tr> + <tr class="feedEntryViewerDisplayCheckbox" dojoAttachPoint="entryCheckBoxRow" width="100%" style="display: none;"> + <td dojoAttachPoint="feedEntryCelltitle"> + <input type="checkbox" name="title" value="Title" dojoAttachPoint="feedEntryCheckBoxTitle" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelTitle"></label> + </td> + <td dojoAttachPoint="feedEntryCellauthors"> + <input type="checkbox" name="authors" value="Authors" dojoAttachPoint="feedEntryCheckBoxAuthors" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelAuthors"></label> + </td> + <td dojoAttachPoint="feedEntryCellcontributors"> + <input type="checkbox" name="contributors" value="Contributors" dojoAttachPoint="feedEntryCheckBoxContributors" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelContributors"></label> + </td> + <td dojoAttachPoint="feedEntryCellid"> + <input type="checkbox" name="id" value="Id" dojoAttachPoint="feedEntryCheckBoxId" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelId"></label> + </td> + <td rowspan="2" align="right"> + <span class="feedEntryViewerMenu" dojoAttachPoint="close" dojoAttachEvent="onclick:_toggleOptions"></span> + </td> + </tr> + <tr class="feedEntryViewerDisplayCheckbox" dojoAttachPoint="entryCheckBoxRow2" width="100%" style="display: none;"> + <td dojoAttachPoint="feedEntryCellupdated"> + <input type="checkbox" name="updated" value="Updated" dojoAttachPoint="feedEntryCheckBoxUpdated" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelUpdated"></label> + </td> + <td dojoAttachPoint="feedEntryCellsummary"> + <input type="checkbox" name="summary" value="Summary" dojoAttachPoint="feedEntryCheckBoxSummary" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelSummary"></label> + </td> + <td dojoAttachPoint="feedEntryCellcontent"> + <input type="checkbox" name="content" value="Content" dojoAttachPoint="feedEntryCheckBoxContent" dojoAttachEvent="onclick:_toggleCheckbox"/> + <label for="title" dojoAttachPoint="feedEntryCheckBoxLabelContent"></label> + </td> + </tr> + </table> + + <table class="feedEntryViewerContainer" border="0" width="100%"> + <tr class="feedEntryViewerTitle" dojoAttachPoint="entryTitleRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryTitleHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryTitleNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerAuthor" dojoAttachPoint="entryAuthorRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryAuthorHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryAuthorNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerContributor" dojoAttachPoint="entryContributorRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryContributorHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryContributorNode" class="feedEntryViewerContributorNames"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerId" dojoAttachPoint="entryIdRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryIdHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryIdNode" class="feedEntryViewerIdText"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerUpdated" dojoAttachPoint="entryUpdatedRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryUpdatedHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryUpdatedNode" class="feedEntryViewerUpdatedText"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerSummary" dojoAttachPoint="entrySummaryRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entrySummaryHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entrySummaryNode"> + </td> + </tr> + </table> + </td> + </tr> + + <tr class="feedEntryViewerContent" dojoAttachPoint="entryContentRow" style="display: none;"> + <td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr class="graphic-tab-lgray"> + <td class="lp2"> + <span class="lp" dojoAttachPoint="entryContentHeader"></span> + </td> + </tr> + <tr> + <td dojoAttachPoint="entryContentNode"> + </td> + </tr> + </table> + </td> + </tr> + </table> +</div> diff --git a/js/dojo-1.6/dojox/atom/widget/templates/FeedViewer.html b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewer.html new file mode 100644 index 0000000..f3d2108 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewer.html @@ -0,0 +1,6 @@ +<div class="feedViewerContainer" dojoAttachPoint="feedViewerContainerNode"> + <table cellspacing="0" cellpadding="0" class="feedViewerTable"> + <tbody dojoAttachPoint="feedViewerTableBody" class="feedViewerTableBody"> + </tbody> + </table> +</div> diff --git a/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerEntry.html b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerEntry.html new file mode 100644 index 0000000..201f884 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerEntry.html @@ -0,0 +1,15 @@ +<tr class="feedViewerEntry" dojoAttachPoint="entryNode" dojoAttachEvent="onclick:onClick"> + <td class="feedViewerEntryUpdated" dojoAttachPoint="timeNode"> + </td> + <td> + <table border="0" width="100%" dojoAttachPoint="titleRow"> + <tr padding="0" border="0"> + <td class="feedViewerEntryTitle" dojoAttachPoint="titleNode"> + </td> + <td class="feedViewerEntryDelete" align="right"> + <span dojoAttachPoint="deleteButton" dojoAttachEvent="onclick:deleteEntry" class="feedViewerDeleteButton" style="display:none;">[delete]</span> + </td> + <tr> + </table> + </td> +</tr>
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerGrouping.html b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerGrouping.html new file mode 100644 index 0000000..467e428 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/FeedViewerGrouping.html @@ -0,0 +1,4 @@ +<tr dojoAttachPoint="groupingNode" class="feedViewerGrouping"> + <td colspan="2" dojoAttachPoint="titleNode" class="feedViewerGroupingTitle"> + </td> +</tr>
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/PeopleEditor.html b/js/dojo-1.6/dojox/atom/widget/templates/PeopleEditor.html new file mode 100644 index 0000000..a034c76 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/PeopleEditor.html @@ -0,0 +1,6 @@ +<div class="peopleEditor"> + <table style="width: 100%"> + <tbody dojoAttachPoint="peopleEditorEditors"></tbody> + </table> + <span class="peopleEditorButton" dojoAttachPoint="peopleEditorButton" dojoAttachEvent="onclick:_add"></span> +</div>
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/EntryHeader.css b/js/dojo-1.6/dojox/atom/widget/templates/css/EntryHeader.css new file mode 100644 index 0000000..6403b61 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/EntryHeader.css @@ -0,0 +1,35 @@ + +.containerNode { + visibility : visible; +} +.graphic-tab-lgray { + margin-bottom: 10px; +} +/* + background: #d9d9d9; + border-bottom: #d9d9d9 solid 7px; +}*/ + +/* headers for listview */ +.newgraphic-tab-lgray { + border-bottom: #d9d9d9 solid 7px; +} +td.lp { + padding: 0px 13px 0px 10px; + font-weight: bold; + background: #d9d9d9; + border-bottom: #d9d9d9 solid 7px; +} + +td.lp2 { + background: #FFFFFF; + border-bottom: #d9d9d9 solid 7px; +} + +span.lp { + padding: 0px 13px 0px 10px; + font-weight: bold; + background: #d9d9d9; + border-bottom: #d9d9d9 solid 7px; + width: auto; +}
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryEditor.css b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryEditor.css new file mode 100644 index 0000000..a6fa3c3 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryEditor.css @@ -0,0 +1,98 @@ +.feedEntryEditor { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorMenuTable { + background: #C0C0C0; + border:2px solid; + border-top-color: lightgrey; + border-left-color: lightgrey; + border-right-color: darkgray; + border-bottom-color: darkgray; +} + +.feedEntryEditorMenu { + cursor: pointer; + color:#0000FF; + text-align: left; + font-size: small; +} + +.feedEntryEditorDisplayCheckbox { + font-size: small; + text-align: left; +} + +.feedEntryEditorMenu:hover { + text-decoration: underline; +} + +.feedEntryEditorTitle { + color:#000000; + background: #FFFFFF; + text-align: left; + #padding-left: 10px; + font-size: 125%; + font-weight: bold; +} + +.feedEntryEditorAuthor { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorAuthorNames { + color:#000000; + background: #FFFFFF; + text-align: left; + #padding-left: 10px; + font-size: 110%; + font-style: italic; + font-weight: normal; +} + +.feedEntryEditorSummary { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorUpdated { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorUpdatedText { + color:#000000; + background: #FFFFFF; + font-size: 110%; + font-style: italic; + font-weight: normal; +} + +.feedEntryEditorId { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorIdText { + color:#000000; + background: #FFFFFF; + font-style: italic; + font-size: 110%; + font-weight: normal; +} + +.feedEntryEditorContent { + color:#000000; + background: #FFFFFF; +} + +.feedEntryEditorContributorNames { + color:#000000; + text-align: left; + #padding-left: 10px; + font-size: 125%; + font-style: italic; + font-weight: normal; +} diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryViewer.css b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryViewer.css new file mode 100644 index 0000000..36400c9 --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedEntryViewer.css @@ -0,0 +1,107 @@ +.feedEntryViewer { + color:#000000; + background: #FFFFFF; +/* overflow: auto;*/ +} + +.feedEntryViewerMenuTable { + background: #C0C0C0; + border:2px solid; + border-top-color: lightgrey; + border-left-color: lightgrey; + border-right-color: darkgray; + border-bottom-color: darkgray; + margin: 0; +} + +.feedEntryViewerMenu, .peopleEditorButton { + cursor: pointer; + color:#0000FF; + text-align: left; + font-size: small; +} + +.feedEntryViewerDisplayCheckbox { + font-size: small; + text-align: left; +} + +.feedEntryViewerMenu:hover, .peopleEditorButton:hover { + text-decoration: underline; +} + +.feedEntryViewerContainer, .feedEntryViewerContainer table { + border-width: 0; + margin: 0; +} + +.feedEntryViewerTitle { + color:#000000; + background: #FFFFFF; + text-align: left; + /*padding-left: 10px;*/ + font-size: 125%; + font-weight: bold; +} + +.feedEntryViewerAuthor { + color:#000000; + background: #FFFFFF; +} + +.feedEntryViewerAuthorNames { + color:#000000; + background: #FFFFFF; + text-align: left; + /*padding-left: 10px;*/ + font-size: 110%; + font-style: italic; + font-weight: normal; +} + +.feedEntryViewerSummary { + color:#000000; + background: #FFFFFF; +} + +.feedEntryViewerUpdated { + color:#000000; + background: #FFFFFF; +} + +.feedEntryViewerUpdatedText { + color:#000000; + background: #FFFFFF; + font-size: 110%; + font-style: italic; + font-weight: normal; +} + +.feedEntryViewerId { + color:#000000; + background: #FFFFFF; +} + +.feedEntryViewerIdText { + color:#000000; + background: #FFFFFF; + font-style: italic; + font-size: 110%; + font-weight: normal; +} + +.feedEntryViewerContent { + color:#000000; + background: #FFFFFF; +} + +.feedEntryViewerContributorNames { + color:#000000; + text-align: left; + /*padding-left: 10px;*/ + font-size: 125%; + font-weight: normal; +} + +.feedEntryViewer table { +}
\ No newline at end of file diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewer.css b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewer.css new file mode 100644 index 0000000..395df3d --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewer.css @@ -0,0 +1,16 @@ +.feedViewerTable { + font-size: small; + width:100%; + cursor:default; + padding:2px; +} + +.feedViewerTable, .feedViewerTable table { + border-width: 0; + margin: 0; +} + +.feedViewerTableBody { + overflow-x: auto; + overflow-y: auto; +} diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerEntry.css b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerEntry.css new file mode 100644 index 0000000..49a7f6c --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerEntry.css @@ -0,0 +1,70 @@ +.feedViewerEntry { + background: #F0F0F0; + padding: 2px; + overflow-x: auto; + overflow-y: auto; + cursor: pointer; +} + +.feedViewerEntry:hover { + background: #a6c2e7; + padding: 2px; +} + +.feedViewerEntrySelected { + color: #000000; + background: #C0C0C0; + text-align: left; + vertical-align: top; + padding-bottom: 2px; + padding: 2px; +} + +.feedViewerEntrySelected:hover { + background: #a6c2e7; + padding: 2px; +} + + +.feedViewerEntryUpdated { + text-align: left; + vertical-align: top; + color: #909090; + padding-bottom: 2px; + padding: 2px; +} + +.feedViewerEntryUpdatedSelected { + text-align: left; + vertical-align: top; + color: #000000; + padding-bottom: 2px; + padding: 2px; +} + + +.feedViewerEntryTitle { + color:#000000; + text-align: left; + text-decoration:none; + padding-left: 4px; + padding-bottom: 2px; +} +.feedViewerEntryTitle:hover { + color:#000000; + text-align: left; + text-decoration:underline; + padding-left: 4px; + padding-bottom: 2px; +} + +.feedViewerDeleteButton { + cursor: pointer; + color:#0000FF; + text-align: left; + font-size: small; +} + +.feedViewerDeleteButton:hover { + text-decoration: underline; +} diff --git a/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerGrouping.css b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerGrouping.css new file mode 100644 index 0000000..326781e --- /dev/null +++ b/js/dojo-1.6/dojox/atom/widget/templates/css/HtmlFeedViewerGrouping.css @@ -0,0 +1,8 @@ +.feedViewerGrouping { +} +.feedViewerGroupingTitle { + font-weight: bold; + color:#606060; + border-bottom:1px solid #909090; + padding-top: 4px; +} |
