Skip to content

Instantly share code, notes, and snippets.

@gregwiechec
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gregwiechec/5194b2a85d03cc697d13 to your computer and use it in GitHub Desktop.
Save gregwiechec/5194b2a85d03cc697d13 to your computer and use it in GitHub Desktop.
Subscribing to EPiServer system topics
define([
"dojo",
"dojo/_base/declare",
"epi/_Module",
"dojo/topic"
], function(
dojo,
declare,
_Module,
topic
) {
return declare([_Module], {
initialize: function() {
this.inherited(arguments);
var events = [];
var contextArray = ["/epi/shell/context/changed",
"/epi/shell/context/requestfailed",
"/epi/shell/context/updated",
"/epi/shell/context/current",
"/epi/shell/context/request",
"/epi/shell/context/updateRequest"
];
events= events.concat(contextArray);
var contentDataArray = ["/epi/cms/contentdata/childrenchanged",
"/epi/cms/contentdata/updated",
"/epi/cms/contentdata/restored",
"/epi/cms/content/statuschange/"];
events = events.concat(contentDataArray);
var changeViewArray = ["/epi/shell/action/changeview",
"/epi/shell/action/changeview/deactivate",
"/epi/shell/action/changeview/updatestate",
"/epi/shell/action/changeview/back"];
events = events.concat(changeViewArray);
var actionsArray = ["/epi/cms/action/showerror",
"/epi/cms/action/delete/error",
"/epi/cms/action/eyetoggle",
"/epi/cms/action/createlocalasset",
"/epi/cms/action/togglecreatemode",
"/epi/cms/action/save",
"/epi/cms/action/undo",
"/epi/cms/action/redo",
"/epi/cms/action/disableundoredoactions",
"/epi/cms/action/switcheditmode",
"/epi/cms/action/disablepreview",
"/epi/cms/action/refreshmytasks",
"/epi/cms/action/viewsettingvaluechanged"];
events = events.concat(actionsArray);
var pinnableArray = ["/epi/layout/pinnable/navigation/toggle",
"/epi/layout/pinnable/navigation/visibilitychanged",
"/epi/layout/pinnable/tools/toggle",
"/epi/layout/pinnable/propertyEditor/show"
];
events = events.concat(pinnableArray);
var dragdropArray = [
"/dnd/start",
"/dnd/source/over",
"/dnd/drop/before",
"/dnd/drop",
"/dnd/cancel",
"/dnd/move/start",
"/dnd/move/stop",
"/epi/dnd/dropdata ",
"/EPi/DnD/DragStart",
"/EPi/DnD/DragEnd"
];
// there is al ot of D&D events published - temporary turned off
//events= events.concat(dragdropArray);
var othersArray = ["/epi/shell/globalnavigation/layoutchange",
"/epi/shell/application/initialized",
"/epi/cms/trash/empty",
"/site/checksize"];
events = events.concat(othersArray);
var widgetEvents = [
"focusNode",
"widgetBlur",
"widgetFocus"];
events = events.concat(widgetEvents);
function logEvent(eventName) {
topic.subscribe(eventName, function () {
console.log(eventName);
});
};
for (var i = 0; i < events.length; i++) {
logEvent(events[i]);
}
}
});
});
<?xml version="1.0" encoding="utf-8"?>
<module>
<clientResources>
<add dependency="epi-cms.widgets.base" path="Scripts/eventSamples/eventsLogger.js" resourceType="Script" />
</clientResources>
<clientModule initializer="events.eventSamples.eventsLogger">
<moduleDependencies>
<add dependency="CMS" type="RunAfter" />
</moduleDependencies>
</clientModule>
<dojo>
<paths>
<add name="events" path="Scripts" />
</paths>
</dojo>
</module>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment