_Widget.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. define([
  2. "dojo/_base/declare", // declare
  3. "dojo/io-query",
  4. "dijit/layout/_LayoutWidget",
  5. "dijit/_TemplatedMixin",
  6. "dijit/_WidgetsInTemplateMixin",
  7. "dijit/registry"
  8. ], function (declare, ioQuery,
  9. _LayoutWidget, _TemplatedMixin, _WidgetsInTemplateMixin, registry) {
  10. return declare("_Widget", [_LayoutWidget, _TemplatedMixin, _WidgetsInTemplateMixin], {
  11. baseClass: "_Widget",
  12. initalized: false,
  13. _onNewPage: function (event) {
  14. var baseUrl = document.URL.split("?")[0];
  15. var paramsString = ioQuery.objectToQuery(this.params);
  16. var win = window.open(baseUrl + "?" + paramsString, "_blank");
  17. win.focus();
  18. },
  19. init: function (params) {
  20. if (this.initalized)
  21. return true;
  22. this.initalized = true;
  23. this.params = params;
  24. if (!this.params.Widget) {
  25. this.params.Widget = this.declaredClass;
  26. }
  27. return false;
  28. },
  29. // Usefull functions ---
  30. setDisabled: function (id, disabled, icon, disabledIcon) {
  31. var target = registry.byId(id);
  32. if (target) {
  33. target.set("disabled", disabled);
  34. target.set("iconClass", disabled ? disabledIcon : icon);
  35. }
  36. },
  37. endsWith: function (str, suffix) {
  38. return str.indexOf(suffix, str.length - suffix.length) !== -1;
  39. }
  40. });
  41. });