knitkit 2.1.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. data/app/controllers/knitkit/base_controller.rb +1 -0
  2. data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +2 -0
  3. data/app/controllers/knitkit/erp_app/desktop/content_controller.rb +2 -2
  4. data/app/controllers/knitkit/erp_app/desktop/website_nav_controller.rb +17 -7
  5. data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +8 -1
  6. data/app/controllers/knitkit/online_document_sections_controller.rb +25 -17
  7. data/app/models/documented_content.rb +3 -3
  8. data/app/models/online_document_section.rb +1 -0
  9. data/app/models/published_website.rb +18 -11
  10. data/app/models/website.rb +49 -28
  11. data/app/models/website_nav_item.rb +12 -0
  12. data/app/models/website_section.rb +1 -3
  13. data/app/views/knitkit/online_document_sections/index.html.erb +77 -46
  14. data/app/views/layouts/knitkit/online_document_sections.html.erb +13 -14
  15. data/app/widgets/login/base.rb +1 -1
  16. data/config/routes.rb +1 -1
  17. data/db/migrate/20110211002317_setup_knitkit.rb +1 -0
  18. data/db/migrate/20130405184234_add_use_markdown_to_section.rb +19 -0
  19. data/lib/knitkit/extensions/railties/action_view/helpers/knitkit_helper.rb +1 -1
  20. data/lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb +0 -1
  21. data/lib/knitkit/version.rb +1 -1
  22. data/public/javascripts/erp_app/desktop/applications/knitkit/articles_grid_panel.js +1 -0
  23. data/public/javascripts/erp_app/desktop/applications/knitkit/center_region.js +109 -26
  24. data/public/javascripts/erp_app/desktop/applications/knitkit/section_articles_grid_panel.js +60 -61
  25. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/document.js +26 -0
  26. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/menu.js +3 -2
  27. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +9 -24
  28. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website_nav_items.js +232 -248
  29. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +33 -43
  30. metadata +19 -3
  31. data/public/stylesheets/knitkit/documentation.css +0 -50
@@ -4,13 +4,12 @@
4
4
  <script type="text/javascript" charset="utf-8">
5
5
 
6
6
  Ext.onReady(function () {
7
- var index = 0;
8
- var currentItem;
7
+ var currentItem, tree, tabs, fitted_panel;
9
8
 
10
- var tree = Ext.create('Ext.tree.Panel', {
9
+ tree = Ext.create('Ext.tree.Panel', {
11
10
  region: 'west',
12
11
  cls: 'tree_styles',
13
- store: Ext.create('Ext.data.TreeStore',{
12
+ store: Ext.create('Ext.data.TreeStore', {
14
13
  proxy: {
15
14
  type: 'ajax',
16
15
  url: 'online_document_sections/build_tree',
@@ -25,20 +24,20 @@
25
24
  fields: [
26
25
  { name: 'id' },
27
26
  { name: 'title' },
28
- { name: 'documented_item_published_content_html' },
29
27
  { name: 'leaf' }
30
28
  ]
31
29
  }),
32
30
  collapsible: true,
33
- tbar: {
31
+ dockedItems: {
32
+ xtype: 'toolbar',
33
+ docked: 'top',
34
34
  items: [
35
- new Ext.form.TextField({
36
- id: "search",
37
- disabled: true,
38
- cls: 'document_search',
35
+ {
36
+ xtype: 'textfield',
39
37
  emptyText: 'Search',
40
- allowBlank: true,
41
- })
38
+ disabled: true,
39
+ allowBlank: true
40
+ }
42
41
  ]
43
42
  },
44
43
  header: false,
@@ -51,40 +50,23 @@
51
50
  title: '<%= @root.title %>',
52
51
  listeners: {
53
52
  'itemclick': function (view, record, htmlItem, index, e) {
54
- var tab_panel = Ext.getCmp('tabs_root')
55
- var tab = Ext.getCmp("tab_" + record.data['id'])
56
- if (tab) {
57
- tab_panel.setActiveTab(tab.id);
58
- }
59
- else {
60
- addTab(record);
61
- }
53
+ var tab_panel = Ext.getCmp('tabs_root'),
54
+ tab = Ext.getCmp("tab_" + record.data['id']);
55
+ showContent(record, tab);
62
56
  }
63
57
  }
64
58
  });
65
59
 
66
- var tabs = Ext.createWidget('tabpanel', {
60
+ tabs = Ext.createWidget('tabpanel', {
67
61
  id: 'tabs_root',
68
62
  region: 'center',
69
63
  plain: true,
70
64
  bodyBorder: true,
71
- resizeTabs: true,
72
- enableTabScroll: true,
73
- width: 640,
74
- collapsible: false,
75
65
  defaults: {
76
66
  autoScroll: true,
77
- bodyPadding: 10,
67
+ bodyPadding: 10
78
68
  },
79
- items: [
80
- {
81
- id: "tab_" + <%= @root.id.to_s %>,
82
- title: '<%= @root.title %>',
83
- html: "<%= raw @root_content.gsub(/\n/, '<br/>') %>",
84
- closable: false,
85
- autoScroll: true
86
- }
87
- ],
69
+ items: [],
88
70
  plugins: Ext.create('Ext.ux.TabCloseMenu', {
89
71
  extraItemsTail: [
90
72
  '-',
@@ -110,26 +92,49 @@
110
92
  })
111
93
  });
112
94
 
113
- function addTab(record) {
114
- ++index;
115
- tabs.add({
116
- id: "tab_" + record.data['id'],
117
- title: record.data['title'],
118
- html: record.data['documented_item_published_content_html'],
119
- closable: true
120
- }).show();
95
+ function showContent(record, tab) {
96
+ Ext.Ajax.request({
97
+ url: 'online_document_sections/get_content',
98
+ params: {
99
+ document_section_id: record.data['id'],
100
+ section_id:<%= @root.id %>
101
+ },
102
+ success: function (response) {
103
+ var responseObj = Ext.JSON.decode(response.responseText);
104
+ if (responseObj.success) {
105
+ if (Ext.isEmpty(tab)) {
106
+ tabs.add({
107
+ id: "tab_" + record.data['id'],
108
+ title: record.data['title'],
109
+ html: responseObj.html,
110
+ closable: true
111
+ }).show();
112
+ }
113
+ else {
114
+ tabs.setActiveTab(tab);
115
+ tab.update(responseObj.html)
116
+ }
117
+ }
118
+ else {
119
+ Ext.Msg.alert('Error', 'Could not load content');
120
+ }
121
+ },
122
+ failure: function (response) {
123
+ Ext.Msg.alert('Error', 'Could not load content');
124
+ }
125
+ });
121
126
  }
122
127
 
123
- var fitted_panel = Ext.createWidget('panel', {
128
+ fitted_panel = Ext.createWidget('panel', {
124
129
  id: 'fitted_panel',
125
130
  layout: 'border',
131
+ width: 800,
126
132
  header: false,
127
133
  defaults: {
128
134
  collapsible: true,
129
- split: true,
135
+ split: true
130
136
  },
131
137
  renderTo: 'document_content',
132
- autoScroll: true,
133
138
  items: [
134
139
  tree,
135
140
  tabs
@@ -137,7 +142,33 @@
137
142
  });
138
143
 
139
144
  resize_windows();
145
+ });
140
146
 
147
+ Ext.Ajax.request({
148
+ url: 'online_document_sections/get_content',
149
+ params: {
150
+ document_section_id:<%= @root.id %>,
151
+ section_id:<%= @root.id %>
152
+ },
153
+ success: function (response) {
154
+ var responseObj = Ext.JSON.decode(response.responseText);
155
+ if (responseObj.success) {
156
+ Ext.getCmp('tabs_root').add({
157
+ xtype: 'panel',
158
+ id: "tab_" + <%= @root.id.to_s %>,
159
+ title: '<%= @root.title %>',
160
+ html: responseObj.html,
161
+ closable: false,
162
+ autoScroll: true
163
+ });
164
+ }
165
+ else {
166
+ Ext.Msg.alert('Error', 'Could not load content');
167
+ }
168
+ },
169
+ failure: function (response) {
170
+ Ext.Msg.alert('Error', 'Could not load content');
171
+ }
141
172
  });
142
173
 
143
174
  function resize_windows() {
@@ -3,32 +3,26 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
5
  <meta name="generator" content="Knitkit - Compass AE Open source content management platform" />
6
-
6
+
7
7
  <meta name="description" content="" />
8
8
  <meta name="keywords" content="" />
9
9
  <meta name="copyright" content="&copy;" />
10
10
  <meta name="robots" content="ALL" />
11
11
  <meta name="language" content="English" />
12
-
12
+
13
13
  <title><%= @website.title %></title>
14
14
  <%= javascript_include_tag :application %>
15
15
  <%= include_extjs :theme => 'extjs:ext-all-gray' %>
16
- <%= add_authenticity_token_to_extjs %>
16
+ <%= set_erp_tech_config_vars %>
17
+ <%= static_javascript_include_tag('erp_app/utility.js') %>
17
18
  <%= static_javascript_include_tag('erp_app/jquery_support.js') %>
18
19
  <%= static_javascript_include_tag('datepicker.js') %>
19
20
  <%= static_stylesheet_link_tag('datepicker.css') %>
20
- <%= static_javascript_include_tag('erp_app/utility.js') %>
21
+ <%= static_stylesheet_link_tag('extjs/resources/css/knitkit_extjs_4.css') %>
21
22
  <%= static_stylesheet_link_tag('knitkit/style.css') %>
22
23
  <%= static_javascript_include_tag('erp_app/widgets.js') %>
23
- <%= static_javascript_include_tag('ajax_pagination.js') %>
24
- <%= static_javascript_include_tag('erp_app/shared/dynamic_forms/dynamic_forms_validation.js') %>
25
- <%= static_stylesheet_link_tag('knitkit/documentation.css') %>
24
+
26
25
  <%= yield :head %>
27
- <!--[if !IE 7]>
28
- <style type="text/css">
29
- #main {display:table;height:100%}
30
- </style>
31
- <![endif]-->
32
26
  </head>
33
27
  <body>
34
28
  <div id="main">
@@ -48,8 +42,13 @@
48
42
  <%= content_for?(:menu) ? yield(:menu) : render_menu(@contents) %>
49
43
  <%#=render_menu(@contents, :menu => 'main')%>
50
44
  </div>
51
-
52
- <%= yield %>
45
+ <div id="site_content">
46
+ <%=build_crumbs %>
47
+ <br/>
48
+ <div id="content">
49
+ <%= yield %>
50
+ </div>
51
+ </div>
53
52
  </div>
54
53
  <div id="content_footer"></div>
55
54
  <%= content_for?(:footer) ? yield(:footer) : (render :partial => 'shared/knitkit/footer') %>
@@ -4,7 +4,7 @@ module Widgets
4
4
 
5
5
  def index
6
6
  @logout_to = params[:logout_to]
7
- @login_to = params[:login_to]
7
+ @login_to = (session[:return_to_url] or params[:login_to])
8
8
  @signup_url = params[:signup_url]
9
9
  @reset_password_url = params[:reset_password_url]
10
10
 
data/config/routes.rb CHANGED
@@ -11,7 +11,7 @@ Rails.application.routes.draw do
11
11
  match '/comments/add' => 'knitkit/comments#add', :as => 'comments'
12
12
  match '/unauthorized' => 'knitkit/unauthorized#index', :as => 'knitkit/unauthorized'
13
13
  match '/view_current_publication' => 'knitkit/base#view_current_publication'
14
- match '/online_document_sections/build_tree' => 'knitkit/online_document_sections#build_tree'
14
+ match '/online_document_sections(/:action)' => 'knitkit/online_document_sections'
15
15
  end
16
16
 
17
17
  Knitkit::Engine.routes.draw do
@@ -46,6 +46,7 @@ class SetupKnitkit < ActiveRecord::Migration
46
46
  t.text :layout
47
47
  t.boolean :in_menu
48
48
  t.integer :position, :default => 0
49
+ t.boolean :use_markdown, :default => false
49
50
  t.string :internal_identifier
50
51
  t.integer :version
51
52
  t.boolean :render_base_layout, :default => true
@@ -0,0 +1,19 @@
1
+ class AddUseMarkdownToSection < ActiveRecord::Migration
2
+ def self.up
3
+ unless columns(:website_sections).collect {|c| c.name}.include?('use_markdown')
4
+ add_column :website_sections, :use_markdown, :boolean
5
+
6
+ WebsiteSection.all.each do |section|
7
+ section.use_markdown = false
8
+ section.save
9
+ end
10
+
11
+ end
12
+ end
13
+
14
+ def self.down
15
+ if columns(:website_sections).collect {|c| c.name}.include?('use_markdown')
16
+ remove_column :website_sections, :use_markdown
17
+ end
18
+ end
19
+ end
@@ -45,7 +45,7 @@ module Knitkit
45
45
  raise "Website Section with that Internal ID does not exist" if section.nil?
46
46
  links = section.self_and_ancestors.map{|child| {:url => child.path, :title => child.title}}
47
47
  else
48
- links = @website_section.self_and_ancestors.collect{|child| {:url => child.path, :title => child.title}}
48
+ links = @website_section.nil? ? [] : @website_section.self_and_ancestors.collect{|child| {:url => child.path, :title => child.title}}
49
49
  end
50
50
 
51
51
  render :partial => 'shared/knitkit/bread_crumb', :locals => {:links => links}
@@ -54,7 +54,6 @@ module Knitkit
54
54
  layout = options[:layout] ? "menus/#{options[:layout]}" : "menus/knitkit/default_sub_menu"
55
55
  else
56
56
  section = options[:section_unique_name].nil? ? @website_section : WebsiteSection.find_by_internal_identifier(options[:section_unique_name])
57
- raise "No website sections exist" if section.nil?
58
57
  locals[:section] = section
59
58
  layout = options[:layout] ? "menus/#{options[:layout]}" : "menus/knitkit/default_sub_section_menu"
60
59
  end
@@ -2,7 +2,7 @@ module Knitkit
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 2
4
4
  MINOR = 1
5
- TINY = 3
5
+ TINY = 4
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
@@ -164,6 +164,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.ArticlesGridPanel",{
164
164
 
165
165
  // create the Data Store
166
166
  var store = Ext.create('Ext.data.Store', {
167
+ storeId: 'knitkit_articlesgridpanelStore',
167
168
  pageSize: 20,
168
169
  proxy: {
169
170
  type: 'ajax',
@@ -42,6 +42,8 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
42
42
  return false;
43
43
  },
44
44
 
45
+ /* sections */
46
+
45
47
  saveSectionLayout:function (sectionId, content) {
46
48
  var self = this;
47
49
  this.setWindowStatus('Saving...');
@@ -127,6 +129,96 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
127
129
  return false;
128
130
  },
129
131
 
132
+ /* documentation using markdown */
133
+
134
+ saveDocumentationMarkdown:function (id, siteId, content) {
135
+ var self = this;
136
+ this.setWindowStatus('Saving...');
137
+ Ext.Ajax.request({
138
+ url:'/knitkit/erp_app/desktop/content/update',
139
+ method:'POST',
140
+ params:{
141
+ id:id,
142
+ html:content,
143
+ site_id:siteId
144
+ },
145
+ success:function (response) {
146
+ var obj = Ext.decode(response.responseText);
147
+ if (obj.success) {
148
+ self.clearWindowStatus();
149
+ Ext.getStore('knitkit_articlesgridpanelStore').load();
150
+ var activeTab = self.workArea.getActiveTab();
151
+ var versionsGrid = activeTab.down('knitkit_versionsarticlegridpanel');
152
+ versionsGrid.getStore().load();
153
+ }
154
+ else {
155
+ Ext.Msg.alert('Error', 'Error saving contents');
156
+ self.clearWindowStatus();
157
+ }
158
+ },
159
+ failure:function (response) {
160
+ self.clearWindowStatus();
161
+ Ext.Msg.alert('Error', 'Error saving contents');
162
+ }
163
+ });
164
+ },
165
+
166
+ editDocumentationMarkdown:function (sectionName, websiteId, contentId, content, tbarItems) {
167
+ var self = this;
168
+ var itemId = 'markdown-' + contentId;
169
+ var item = this.workArea.query('#' + itemId).first();
170
+
171
+ if (Compass.ErpApp.Utility.isBlank(item)) {
172
+ item = Ext.create("Ext.panel.Panel", {
173
+ layout:'border',
174
+ title:sectionName,
175
+ save:function (comp) {
176
+ var content = comp.down('codemirror').getValue();
177
+ self.saveDocumentationMarkdown(contentId, websiteId, content);
178
+ },
179
+ closable:true,
180
+ itemId:itemId,
181
+ items:[
182
+ {
183
+ title:sectionName + ' - Markdown',
184
+ tbarItems:tbarItems,
185
+ disableSave:true,
186
+ listeners:{
187
+ save:function (comp, content) {
188
+ self.saveDocumentationMarkdown(contentId, websiteId, content);
189
+ }
190
+ },
191
+ xtype:'codemirror',
192
+ parser:'erb',
193
+ region:'center',
194
+ sourceCode:content
195
+ },
196
+ {
197
+ xtype:'knitkit_versionsarticlegridpanel',
198
+ contentId:contentId,
199
+ region:'south',
200
+ height:150,
201
+ collapsible:true,
202
+ centerRegion:self,
203
+ siteId:websiteId
204
+ }
205
+ ],
206
+ listeners:{
207
+ 'show':function (panel) {
208
+ Ext.getCmp('knitkitWestRegion').selectWebsite(websiteId);
209
+ }
210
+ }
211
+ });
212
+
213
+ this.workArea.add(item);
214
+ }
215
+
216
+ this.workArea.setActiveTab(item);
217
+ return false;
218
+ },
219
+
220
+ /* templates */
221
+
130
222
  saveTemplateFile:function (path, content) {
131
223
  var self = this;
132
224
  this.setWindowStatus('Saving...');
@@ -191,6 +283,8 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
191
283
  return false;
192
284
  },
193
285
 
286
+ /* excerpts */
287
+
194
288
  saveExcerpt:function (id, content, siteId) {
195
289
  var self = this;
196
290
  this.setWindowStatus('Saving...');
@@ -206,9 +300,10 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
206
300
  var obj = Ext.decode(response.responseText);
207
301
  if (obj.success) {
208
302
  self.clearWindowStatus();
303
+ Ext.getStore('knitkit_articlesgridpanelStore').load();
209
304
  var activeTab = self.workArea.getActiveTab();
210
305
  var panel = activeTab.query('knitkit_versionsbloggridpanel');
211
- if (panel.length == 0) {
306
+ if (panel.length === 0) {
212
307
  panel = activeTab.query('knitkit_nonpublishedversionswebsitesectiongridpanel');
213
308
  }
214
309
  panel[0].getStore().load();
@@ -241,8 +336,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
241
336
  listeners:{
242
337
  save:function (comp, content) {
243
338
  self.saveExcerpt(id, content, siteId);
244
- if (contentGridStore)
245
- contentGridStore.load();
339
+ if (!Ext.isEmpty(contentGridStore)) contentGridStore.load();
246
340
  }
247
341
  }
248
342
  });
@@ -289,7 +383,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
289
383
  if (currentUser.hasCapability('edit_html', 'Content')) {
290
384
  var content = comp.down('ckeditor').getValue();
291
385
  self.saveExcerpt(id, content, siteId);
292
- contentGridStore.load();
386
+ if (!Ext.isEmpty(contentGridStore)) contentGridStore.load();
293
387
  } else {
294
388
  currentUser.showInvalidAccess();
295
389
  }
@@ -310,6 +404,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
310
404
  this.workArea.setActiveTab(item);
311
405
  },
312
406
 
407
+ /* image */
313
408
 
314
409
  showImage:function (node, themeId) {
315
410
  var self = this;
@@ -334,6 +429,8 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
334
429
  return false;
335
430
  },
336
431
 
432
+ /* content */
433
+
337
434
  saveContent:function (id, content, contentType, siteId) {
338
435
  var self = this;
339
436
  this.setWindowStatus('Saving...');
@@ -349,6 +446,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
349
446
  var obj = Ext.decode(response.responseText);
350
447
  if (obj.success) {
351
448
  self.clearWindowStatus();
449
+ Ext.getStore('knitkit_articlesgridpanelStore').load();
352
450
  if (!Compass.ErpApp.Utility.isBlank(contentType)) {
353
451
  var activeTab = self.workArea.getActiveTab();
354
452
  var versionsGrid = activeTab.down('knitkit_versions' + contentType + 'gridpanel');
@@ -414,8 +512,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
414
512
  listeners:{
415
513
  save:function (comp, content) {
416
514
  self.saveContent(id, content, contentType, siteId);
417
- if (contentGridStore)
418
- contentGridStore.load();
515
+ if (!Ext.isEmpty(contentGridStore)) contentGridStore.load();
419
516
  }
420
517
  }
421
518
  });
@@ -489,6 +586,8 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
489
586
  this.workArea.setActiveTab(item);
490
587
  },
491
588
 
589
+ /* comment */
590
+
492
591
  showComment:function (comment) {
493
592
  var activeTab = this.workArea.getActiveTab();
494
593
  var cardPanel = activeTab.query('panel')[0];
@@ -584,7 +683,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
584
683
  Ext.Msg.alert('Error', 'No editor');
585
684
  }
586
685
  else {
587
- if (activeTab.query('ckeditor').length == 0) {
686
+ if (activeTab.query('ckeditor').length === 0) {
588
687
  Ext.Msg.alert('Error', 'No ckeditor found');
589
688
  }
590
689
  else {
@@ -600,7 +699,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
600
699
  Ext.Msg.alert('Error', 'No editor');
601
700
  }
602
701
  else {
603
- if (activeTab.query('ckeditor').length == 0) {
702
+ if (activeTab.query('ckeditor').length === 0) {
604
703
  Ext.Msg.alert('Error', 'No ckeditor found');
605
704
  }
606
705
  else {
@@ -616,7 +715,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
616
715
  Ext.Msg.alert('Error', 'No editor');
617
716
  }
618
717
  else {
619
- if (activeTab.query('codemirror').length == 0) {
718
+ if (activeTab.query('codemirror').length === 0) {
620
719
  Ext.Msg.alert('Error', 'No codemirror found.');
621
720
  }
622
721
  else {
@@ -632,7 +731,7 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
632
731
  Ext.Msg.alert('Error', 'No editor');
633
732
  }
634
733
  else {
635
- if (activeTab.query('codemirror').length == 0) {
734
+ if (activeTab.query('codemirror').length === 0) {
636
735
  Ext.Msg.alert('Error', 'No codemirror found. Note that a widget can only be added to a Layout.');
637
736
  }
638
737
  else {
@@ -664,22 +763,6 @@ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.CenterRegion", {
664
763
  return false;
665
764
  },
666
765
 
667
- insertHtmlIntoActiveCkEditor:function (html) {
668
- var activeTab = this.workArea.getActiveTab();
669
- if (Compass.ErpApp.Utility.isBlank(activeTab)) {
670
- Ext.Msg.alert('Error', 'No editor');
671
- }
672
- else {
673
- if (activeTab.query('ckeditor').length == 0) {
674
- Ext.Msg.alert('Error', 'No ckeditor found');
675
- }
676
- else {
677
- activeTab.query('ckeditor')[0].insertHtml(html);
678
- }
679
- }
680
- return false;
681
- },
682
-
683
766
  saveCurrent:function () {
684
767
  var activeTab = this.workArea.getActiveTab();
685
768
  if (!Ext.isEmpty(activeTab) && !Ext.isEmpty(activeTab.initialConfig.save)) {