infopark_cloud_connector 6.9.0.3.197272233 → 6.9.1.3.22208381
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.
- data/app/controllers/rails_connector/blobs_controller.rb +10 -0
- data/app/controllers/rails_connector/objs_controller.rb +37 -41
- data/app/controllers/rails_connector/tasks_controller.rb +11 -0
- data/app/controllers/rails_connector/webservice_controller.rb +36 -0
- data/app/controllers/rails_connector/workspaces_controller.rb +33 -0
- data/app/helpers/rails_connector/cms_asset_helper.rb +100 -0
- data/app/helpers/rails_connector/cms_tag_helper.rb +82 -7
- data/app/views/rails_connector/_editing_javascript.html.erb +8 -2
- data/app/views/rails_connector/objs/create_widget.html.erb +1 -1
- data/config/locales/de.rails_connector.models.yml +6 -0
- data/config/locales/en.rails_connector.models.yml +6 -0
- data/config/routes.rb +17 -1
- data/lib/assets/fonts/infopark_icons-webfont.eot +0 -0
- data/lib/assets/fonts/infopark_icons-webfont.ttf +0 -0
- data/lib/assets/fonts/infopark_icons-webfont.woff +0 -0
- data/lib/assets/images/ip_logo_app.png +0 -0
- data/lib/assets/images/ip_logo_app2x.png +0 -0
- data/lib/assets/images/rails_connector/image_placeholder.png +0 -0
- data/lib/assets/javascripts/infopark_editing.js +1386 -287
- data/lib/assets/stylesheets/infopark_editing.css +866 -345
- data/lib/rails_connector/basic_obj.rb +8 -0
- data/lib/rails_connector/migrations/cms_backend.rb +6 -10
- data/lib/rails_connector/migrations/migration_dsl.rb +29 -1
- data/lib/rails_connector/obj_data_from_service.rb +1 -1
- data/lib/rails_connector/widget_renderer.rb +2 -2
- metadata +14 -4
@@ -1 +1 @@
|
|
1
|
-
<%= render_widget(@widget, @
|
1
|
+
<%= render_widget(@widget, @current_page, params[:field_name], @obj) %>
|
data/config/routes.rb
CHANGED
@@ -1,8 +1,24 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
-
resources :objs, controller: 'rails_connector/objs', path: '__ipcms/objs',
|
2
|
+
resources :objs, controller: 'rails_connector/objs', path: '__ipcms/objs',
|
3
|
+
only: [:create, :update, :destroy] do
|
4
|
+
get :page_class_selection, on: :collection
|
5
|
+
|
3
6
|
member do
|
4
7
|
get :widget_class_selection
|
5
8
|
post :create_widget
|
6
9
|
end
|
7
10
|
end
|
11
|
+
|
12
|
+
resources :tasks, controller: 'rails_connector/tasks', path: '__ipcms/tasks', only: [:show]
|
13
|
+
|
14
|
+
match '__ipcms/blobs/upload_permission' => 'rails_connector/blobs#upload_permission', via: :get
|
15
|
+
|
16
|
+
resources :workspaces,
|
17
|
+
controller: 'rails_connector/workspaces',
|
18
|
+
path: '__ipcms/workspaces',
|
19
|
+
only: [:index, :create, :update, :destroy] do
|
20
|
+
member do
|
21
|
+
put :publish
|
22
|
+
end
|
23
|
+
end
|
8
24
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -9751,9 +9751,9 @@ var RLANG = {
|
|
9751
9751
|
}
|
9752
9752
|
}
|
9753
9753
|
})(jQuery);
|
9754
|
-
// Underscore.js 1.4.
|
9754
|
+
// Underscore.js 1.4.4
|
9755
9755
|
// http://underscorejs.org
|
9756
|
-
// (c) 2009-
|
9756
|
+
// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
|
9757
9757
|
// Underscore may be freely distributed under the MIT license.
|
9758
9758
|
|
9759
9759
|
(function() {
|
@@ -9817,7 +9817,7 @@ var RLANG = {
|
|
9817
9817
|
}
|
9818
9818
|
|
9819
9819
|
// Current version.
|
9820
|
-
_.VERSION = '1.4.
|
9820
|
+
_.VERSION = '1.4.4';
|
9821
9821
|
|
9822
9822
|
// Collection Functions
|
9823
9823
|
// --------------------
|
@@ -9977,8 +9977,9 @@ var RLANG = {
|
|
9977
9977
|
// Invoke a method (with arguments) on every item in a collection.
|
9978
9978
|
_.invoke = function(obj, method) {
|
9979
9979
|
var args = slice.call(arguments, 2);
|
9980
|
+
var isFunc = _.isFunction(method);
|
9980
9981
|
return _.map(obj, function(value) {
|
9981
|
-
return (
|
9982
|
+
return (isFunc ? method : value[method]).apply(value, args);
|
9982
9983
|
});
|
9983
9984
|
};
|
9984
9985
|
|
@@ -9988,10 +9989,10 @@ var RLANG = {
|
|
9988
9989
|
};
|
9989
9990
|
|
9990
9991
|
// Convenience version of a common use case of `filter`: selecting only objects
|
9991
|
-
//
|
9992
|
-
_.where = function(obj, attrs) {
|
9993
|
-
if (_.isEmpty(attrs)) return [];
|
9994
|
-
return _
|
9992
|
+
// containing specific `key:value` pairs.
|
9993
|
+
_.where = function(obj, attrs, first) {
|
9994
|
+
if (_.isEmpty(attrs)) return first ? void 0 : [];
|
9995
|
+
return _[first ? 'find' : 'filter'](obj, function(value) {
|
9995
9996
|
for (var key in attrs) {
|
9996
9997
|
if (attrs[key] !== value[key]) return false;
|
9997
9998
|
}
|
@@ -9999,6 +10000,12 @@ var RLANG = {
|
|
9999
10000
|
});
|
10000
10001
|
};
|
10001
10002
|
|
10003
|
+
// Convenience version of a common use case of `find`: getting the first object
|
10004
|
+
// containing specific `key:value` pairs.
|
10005
|
+
_.findWhere = function(obj, attrs) {
|
10006
|
+
return _.where(obj, attrs, true);
|
10007
|
+
};
|
10008
|
+
|
10002
10009
|
// Return the maximum element or (element-based computation).
|
10003
10010
|
// Can't optimize arrays of integers longer than 65,535 elements.
|
10004
10011
|
// See: https://bugs.webkit.org/show_bug.cgi?id=80797
|
@@ -10070,7 +10077,7 @@ var RLANG = {
|
|
10070
10077
|
// An internal function used for aggregate "group by" operations.
|
10071
10078
|
var group = function(obj, value, context, behavior) {
|
10072
10079
|
var result = {};
|
10073
|
-
var iterator = lookupIterator(value
|
10080
|
+
var iterator = lookupIterator(value == null ? _.identity : value);
|
10074
10081
|
each(obj, function(value, index) {
|
10075
10082
|
var key = iterator.call(context, value, index, obj);
|
10076
10083
|
behavior(result, key, value);
|
@@ -10324,9 +10331,8 @@ var RLANG = {
|
|
10324
10331
|
var ctor = function(){};
|
10325
10332
|
|
10326
10333
|
// Create a function bound to a given object (assigning `this`, and arguments,
|
10327
|
-
// optionally).
|
10328
|
-
//
|
10329
|
-
// We check for `func.bind` first, to fail fast when `func` is undefined.
|
10334
|
+
// optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
|
10335
|
+
// available.
|
10330
10336
|
_.bind = function(func, context) {
|
10331
10337
|
var args, bound;
|
10332
10338
|
if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
|
@@ -10343,11 +10349,20 @@ var RLANG = {
|
|
10343
10349
|
};
|
10344
10350
|
};
|
10345
10351
|
|
10352
|
+
// Partially apply a function by creating a version that has had some of its
|
10353
|
+
// arguments pre-filled, without changing its dynamic `this` context.
|
10354
|
+
_.partial = function(func) {
|
10355
|
+
var args = slice.call(arguments, 1);
|
10356
|
+
return function() {
|
10357
|
+
return func.apply(this, args.concat(slice.call(arguments)));
|
10358
|
+
};
|
10359
|
+
};
|
10360
|
+
|
10346
10361
|
// Bind all of an object's methods to that object. Useful for ensuring that
|
10347
10362
|
// all callbacks defined on an object belong to it.
|
10348
10363
|
_.bindAll = function(obj) {
|
10349
10364
|
var funcs = slice.call(arguments, 1);
|
10350
|
-
if (funcs.length
|
10365
|
+
if (funcs.length === 0) throw new Error("bindAll must be passed function names");
|
10351
10366
|
each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
|
10352
10367
|
return obj;
|
10353
10368
|
};
|
@@ -10549,7 +10564,7 @@ var RLANG = {
|
|
10549
10564
|
each(slice.call(arguments, 1), function(source) {
|
10550
10565
|
if (source) {
|
10551
10566
|
for (var prop in source) {
|
10552
|
-
if (obj[prop]
|
10567
|
+
if (obj[prop] === void 0) obj[prop] = source[prop];
|
10553
10568
|
}
|
10554
10569
|
}
|
10555
10570
|
});
|
@@ -10772,7 +10787,7 @@ var RLANG = {
|
|
10772
10787
|
max = min;
|
10773
10788
|
min = 0;
|
10774
10789
|
}
|
10775
|
-
return min + (
|
10790
|
+
return min + Math.floor(Math.random() * (max - min + 1));
|
10776
10791
|
};
|
10777
10792
|
|
10778
10793
|
// List of HTML entities for escaping.
|
@@ -10807,7 +10822,7 @@ var RLANG = {
|
|
10807
10822
|
// If the value of the named property is a function then invoke it;
|
10808
10823
|
// otherwise, return it.
|
10809
10824
|
_.result = function(object, property) {
|
10810
|
-
if (object == null) return
|
10825
|
+
if (object == null) return void 0;
|
10811
10826
|
var value = object[property];
|
10812
10827
|
return _.isFunction(value) ? value.call(object) : value;
|
10813
10828
|
};
|
@@ -10828,7 +10843,7 @@ var RLANG = {
|
|
10828
10843
|
// Useful for temporary DOM ids.
|
10829
10844
|
var idCounter = 0;
|
10830
10845
|
_.uniqueId = function(prefix) {
|
10831
|
-
var id =
|
10846
|
+
var id = ++idCounter + '';
|
10832
10847
|
return prefix ? prefix + id : id;
|
10833
10848
|
};
|
10834
10849
|
|
@@ -10863,6 +10878,7 @@ var RLANG = {
|
|
10863
10878
|
// Underscore templating handles arbitrary delimiters, preserves whitespace,
|
10864
10879
|
// and correctly escapes quotes within interpolated code.
|
10865
10880
|
_.template = function(text, data, settings) {
|
10881
|
+
var render;
|
10866
10882
|
settings = _.defaults({}, settings, _.templateSettings);
|
10867
10883
|
|
10868
10884
|
// Combine delimiters into one regular expression via alternation.
|
@@ -10901,7 +10917,7 @@ var RLANG = {
|
|
10901
10917
|
source + "return __p;\n";
|
10902
10918
|
|
10903
10919
|
try {
|
10904
|
-
|
10920
|
+
render = new Function(settings.variable || 'obj', '_', source);
|
10905
10921
|
} catch (e) {
|
10906
10922
|
e.source = source;
|
10907
10923
|
throw e;
|
@@ -10974,10 +10990,10 @@ var RLANG = {
|
|
10974
10990
|
}).call(this);
|
10975
10991
|
(function() {
|
10976
10992
|
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
10977
|
-
this.InfoparkHandlebarsTemplates["
|
10993
|
+
this.InfoparkHandlebarsTemplates["choose_obj_class_dialog"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
10978
10994
|
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
10979
10995
|
helpers = helpers || Handlebars.helpers; data = data || {};
|
10980
|
-
var buffer = "", stack1,
|
10996
|
+
var buffer = "", stack1, options, functionType="function", escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;
|
10981
10997
|
|
10982
10998
|
function program1(depth0,data) {
|
10983
10999
|
|
@@ -10991,44 +11007,39 @@ function program1(depth0,data) {
|
|
10991
11007
|
function program2(depth0,data) {
|
10992
11008
|
|
10993
11009
|
var buffer = "", stack1;
|
10994
|
-
buffer += "\n <div class=\"ip-
|
10995
|
-
if (stack1 = helpers.
|
10996
|
-
else { stack1 = depth0.
|
11010
|
+
buffer += "\n <div class=\"ip-obj_class_thumbnail ip_editing_widget_preview\" data-ip-obj-class-name=\"";
|
11011
|
+
if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11012
|
+
else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
10997
11013
|
buffer += escapeExpression(stack1)
|
10998
11014
|
+ "\">\n ";
|
10999
|
-
if (stack1 = helpers.
|
11000
|
-
else { stack1 = depth0.
|
11015
|
+
if (stack1 = helpers.markup) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11016
|
+
else { stack1 = depth0.markup; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11001
11017
|
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11002
11018
|
buffer += "\n </div>\n ";
|
11003
11019
|
return buffer;
|
11004
11020
|
}
|
11005
11021
|
|
11006
|
-
buffer += "<div class=\"ip-
|
11007
|
-
|
11008
|
-
|
11009
|
-
|
11010
|
-
|
11011
|
-
|
11012
|
-
|
11013
|
-
|
11014
|
-
if(stack2 || stack2 === 0) { buffer += stack2; }
|
11015
|
-
buffer += "\n </div>\n\n <div class=\"modal_footer\">\n <a href=\"#\" class=\"ip_editing_button cancel\">";
|
11022
|
+
buffer += "<div class=\"ip-choose_obj_class_dialog ip_modal_big\">\n\n <div class=\"modal_header\">\n <h3><i class=\"ip_icon\"></i>";
|
11023
|
+
if (stack1 = helpers.title) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11024
|
+
else { stack1 = depth0.title; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11025
|
+
buffer += escapeExpression(stack1)
|
11026
|
+
+ "</h3>\n </div>\n\n <div class=\"modal_body auto_height\">\n ";
|
11027
|
+
stack1 = helpers.each.call(depth0, depth0.obj_classes, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11028
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11029
|
+
buffer += "\n </div>\n\n <div class=\"modal_footer\">\n <a href=\"#\" class=\"ip_button cancel\">";
|
11016
11030
|
options = {hash:{},data:data};
|
11017
11031
|
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "cancel", options) : helperMissing.call(depth0, "translate", "cancel", options)))
|
11018
|
-
+ "</a>\n <a href=\"#\" class=\"ip_editing_button green confirm\"><i class=\"ip_editing_icon\"></i> ";
|
11019
|
-
options = {hash:{},data:data};
|
11020
|
-
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "choose_widget_class_dialog.confirm", options) : helperMissing.call(depth0, "translate", "choose_widget_class_dialog.confirm", options)))
|
11021
11032
|
+ "</a>\n </div>\n\n</div>\n";
|
11022
11033
|
return buffer;
|
11023
11034
|
});
|
11024
|
-
return this.InfoparkHandlebarsTemplates["
|
11035
|
+
return this.InfoparkHandlebarsTemplates["choose_obj_class_dialog"];
|
11025
11036
|
}).call(this);
|
11026
11037
|
(function() {
|
11027
11038
|
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11028
11039
|
this.InfoparkHandlebarsTemplates["confirmation_dialog"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11029
11040
|
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11030
11041
|
helpers = helpers || Handlebars.helpers; data = data || {};
|
11031
|
-
var buffer = "", stack1,
|
11042
|
+
var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
11032
11043
|
|
11033
11044
|
function program1(depth0,data) {
|
11034
11045
|
|
@@ -11041,23 +11052,69 @@ function program1(depth0,data) {
|
|
11041
11052
|
return buffer;
|
11042
11053
|
}
|
11043
11054
|
|
11044
|
-
buffer += "<div class=\"ip-confirmation_dialog
|
11055
|
+
buffer += "<div class=\"ip-confirmation_dialog ip_modal_small\">\n <div class=\"modal_header\">\n <i class=\"ip_icon\">";
|
11056
|
+
if (stack1 = helpers.icon) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11057
|
+
else { stack1 = depth0.icon; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11058
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11059
|
+
buffer += "</i>\n <h3 class=\"title\">";
|
11045
11060
|
if (stack1 = helpers.title) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11046
11061
|
else { stack1 = depth0.title; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11047
11062
|
buffer += escapeExpression(stack1)
|
11048
11063
|
+ "</h3>\n ";
|
11049
11064
|
stack1 = helpers['if'].call(depth0, depth0.description, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11050
11065
|
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11051
|
-
buffer += "\n </div>\n <div class=\"modal_footer\">\n <a href=\"#\" class=\"
|
11066
|
+
buffer += "\n </div>\n <div class=\"modal_footer\">\n <a href=\"#\" class=\"ip_button ";
|
11067
|
+
if (stack1 = helpers.cancel_button_color) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11068
|
+
else { stack1 = depth0.cancel_button_color; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11069
|
+
buffer += escapeExpression(stack1)
|
11070
|
+
+ " cancel\">\n ";
|
11071
|
+
if (stack1 = helpers.cancel_button_text) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11072
|
+
else { stack1 = depth0.cancel_button_text; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11073
|
+
buffer += escapeExpression(stack1)
|
11074
|
+
+ "\n </a>\n <a href=\"#\" class=\"ip_button ";
|
11075
|
+
if (stack1 = helpers.confirm_button_color) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11076
|
+
else { stack1 = depth0.confirm_button_color; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11077
|
+
buffer += escapeExpression(stack1)
|
11078
|
+
+ " confirm\">\n ";
|
11079
|
+
if (stack1 = helpers.confirm_button_text) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11080
|
+
else { stack1 = depth0.confirm_button_text; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11081
|
+
buffer += escapeExpression(stack1)
|
11082
|
+
+ "\n </a>\n </div>\n</div>\n";
|
11083
|
+
return buffer;
|
11084
|
+
});
|
11085
|
+
return this.InfoparkHandlebarsTemplates["confirmation_dialog"];
|
11086
|
+
}).call(this);
|
11087
|
+
(function() {
|
11088
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11089
|
+
this.InfoparkHandlebarsTemplates["deactivate_menu_bar_item"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11090
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11091
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11092
|
+
var buffer = "", stack1, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
|
11093
|
+
|
11094
|
+
|
11095
|
+
buffer += "<i class=\"ip_icon\" title=\"";
|
11052
11096
|
options = {hash:{},data:data};
|
11053
|
-
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "
|
11054
|
-
+ "
|
11097
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.deactivate_editing", options) : helperMissing.call(depth0, "translate", "menu_bar.deactivate_editing", options)))
|
11098
|
+
+ "\"></i>\n";
|
11099
|
+
return buffer;
|
11100
|
+
});
|
11101
|
+
return this.InfoparkHandlebarsTemplates["deactivate_menu_bar_item"];
|
11102
|
+
}).call(this);
|
11103
|
+
(function() {
|
11104
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11105
|
+
this.InfoparkHandlebarsTemplates["delete_current_page_item"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11106
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11107
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11108
|
+
var buffer = "", stack1, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;
|
11109
|
+
|
11110
|
+
|
11111
|
+
buffer += "<i class=\"ip_icon\"></i>\n<span class=\"ip_button_label\">";
|
11055
11112
|
options = {hash:{},data:data};
|
11056
|
-
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "
|
11057
|
-
+ "</
|
11113
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.delete_current_page", options) : helperMissing.call(depth0, "translate", "menu_bar.delete_current_page", options)))
|
11114
|
+
+ "</span>\n";
|
11058
11115
|
return buffer;
|
11059
11116
|
});
|
11060
|
-
return this.InfoparkHandlebarsTemplates["
|
11117
|
+
return this.InfoparkHandlebarsTemplates["delete_current_page_item"];
|
11061
11118
|
}).call(this);
|
11062
11119
|
(function() {
|
11063
11120
|
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
@@ -11069,7 +11126,7 @@ helpers = helpers || Handlebars.helpers; data = data || {};
|
|
11069
11126
|
function program1(depth0,data) {
|
11070
11127
|
|
11071
11128
|
var buffer = "", stack1;
|
11072
|
-
buffer += "\n <li class=\"
|
11129
|
+
buffer += "\n <li class=\"ip_menu_item\">\n <span><i class=\"ip_icon\">"
|
11073
11130
|
+ escapeExpression(((stack1 = depth0.icon),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
11074
11131
|
+ "</i>"
|
11075
11132
|
+ escapeExpression(((stack1 = depth0.text),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
@@ -11081,7 +11138,7 @@ function program1(depth0,data) {
|
|
11081
11138
|
if (stack1 = helpers.menu_id) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11082
11139
|
else { stack1 = depth0.menu_id; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11083
11140
|
buffer += escapeExpression(stack1)
|
11084
|
-
+ "\">\n <ul class=\"
|
11141
|
+
+ "\">\n <ul class=\"ip_menu_box\">\n ";
|
11085
11142
|
stack1 = helpers.each.call(depth0, depth0.items, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11086
11143
|
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11087
11144
|
buffer += "\n </ul>\n</div>\n";
|
@@ -11094,13 +11151,30 @@ function program1(depth0,data) {
|
|
11094
11151
|
this.InfoparkHandlebarsTemplates["inplace_menu_icon"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11095
11152
|
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11096
11153
|
helpers = helpers || Handlebars.helpers; data = data || {};
|
11097
|
-
|
11154
|
+
var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression;
|
11098
11155
|
|
11099
11156
|
|
11100
|
-
|
11157
|
+
buffer += "<span class=\"ip_editing_marker\" id=\"";
|
11158
|
+
if (stack1 = helpers.menu_icon_id) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11159
|
+
else { stack1 = depth0.menu_icon_id; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11160
|
+
buffer += escapeExpression(stack1)
|
11161
|
+
+ "\"><i class=\"ip_icon\"></i></span>\n";
|
11162
|
+
return buffer;
|
11101
11163
|
});
|
11102
11164
|
return this.InfoparkHandlebarsTemplates["inplace_menu_icon"];
|
11103
11165
|
}).call(this);
|
11166
|
+
(function() {
|
11167
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11168
|
+
this.InfoparkHandlebarsTemplates["menu_bar"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11169
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11170
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11171
|
+
|
11172
|
+
|
11173
|
+
|
11174
|
+
return "<div class=\"ip_topbar\">\n <div class=\"ip_first_level\">\n <div class=\"ip_button_bar ip_app ip_no_hover\">\n <span class=\"ip_logo\"></span>\n <span class=\"ip_product_name\">CMS</span>\n </div>\n\n <div id=\"ip_select_workspace\" class=\"ip_button_bar\"></div>\n <div id=\"ip_deactivate_editing\" class=\"ip_button_bar ip_right\"></div>\n <div id=\"ip_delete_current_page\" class=\"ip_button_bar ip_right ip_red\"></div>\n </div>\n</div>\n";
|
11175
|
+
});
|
11176
|
+
return this.InfoparkHandlebarsTemplates["menu_bar"];
|
11177
|
+
}).call(this);
|
11104
11178
|
(function() {
|
11105
11179
|
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11106
11180
|
this.InfoparkHandlebarsTemplates["overlay"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
@@ -11109,10 +11183,60 @@ helpers = helpers || Handlebars.helpers; data = data || {};
|
|
11109
11183
|
|
11110
11184
|
|
11111
11185
|
|
11112
|
-
return "<div class=\"ip-overlay
|
11186
|
+
return "<div class=\"ip-overlay ip_overlay\"></div>\n";
|
11113
11187
|
});
|
11114
11188
|
return this.InfoparkHandlebarsTemplates["overlay"];
|
11115
11189
|
}).call(this);
|
11190
|
+
(function() {
|
11191
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11192
|
+
this.InfoparkHandlebarsTemplates["prompt_dialog"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11193
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11194
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11195
|
+
var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
11196
|
+
|
11197
|
+
function program1(depth0,data) {
|
11198
|
+
|
11199
|
+
var buffer = "", stack1;
|
11200
|
+
buffer += "\n <p class=\"description\">";
|
11201
|
+
if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11202
|
+
else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11203
|
+
buffer += escapeExpression(stack1)
|
11204
|
+
+ "</p>\n ";
|
11205
|
+
return buffer;
|
11206
|
+
}
|
11207
|
+
|
11208
|
+
buffer += "<div class=\"ip-prompt_dialog ip_modal_small\">\n <div class=\"modal_header\">\n <i class=\"ip_icon\">";
|
11209
|
+
if (stack1 = helpers.icon) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11210
|
+
else { stack1 = depth0.icon; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11211
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11212
|
+
buffer += "</i>\n <h3 class=\"title\">";
|
11213
|
+
if (stack1 = helpers.title) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11214
|
+
else { stack1 = depth0.title; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11215
|
+
buffer += escapeExpression(stack1)
|
11216
|
+
+ "</h3>\n ";
|
11217
|
+
stack1 = helpers['if'].call(depth0, depth0.description, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11218
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11219
|
+
buffer += "\n </div>\n <div class=\"modal_body\">\n <input type=\"text\" value=\"";
|
11220
|
+
if (stack1 = helpers.value) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11221
|
+
else { stack1 = depth0.value; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11222
|
+
buffer += escapeExpression(stack1)
|
11223
|
+
+ "\" placeholder=\"";
|
11224
|
+
if (stack1 = helpers.placeholder) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11225
|
+
else { stack1 = depth0.placeholder; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11226
|
+
buffer += escapeExpression(stack1)
|
11227
|
+
+ "\"></input>\n </div>\n <div class=\"modal_footer\">\n <a href=\"#\" class=\"ip_button cancel\">";
|
11228
|
+
if (stack1 = helpers.cancel_button_text) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11229
|
+
else { stack1 = depth0.cancel_button_text; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11230
|
+
buffer += escapeExpression(stack1)
|
11231
|
+
+ "</a>\n <a href=\"#\" class=\"ip_button ip_blue accept\">";
|
11232
|
+
if (stack1 = helpers.accept_button_text) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11233
|
+
else { stack1 = depth0.accept_button_text; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11234
|
+
buffer += escapeExpression(stack1)
|
11235
|
+
+ "</a>\n </div>\n</div>\n";
|
11236
|
+
return buffer;
|
11237
|
+
});
|
11238
|
+
return this.InfoparkHandlebarsTemplates["prompt_dialog"];
|
11239
|
+
}).call(this);
|
11116
11240
|
(function() {
|
11117
11241
|
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11118
11242
|
this.InfoparkHandlebarsTemplates["saving_overlay"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
@@ -11121,7 +11245,7 @@ helpers = helpers || Handlebars.helpers; data = data || {};
|
|
11121
11245
|
|
11122
11246
|
|
11123
11247
|
|
11124
|
-
return "<div class=\"ip-saving-overlay
|
11248
|
+
return "<div class=\"ip-saving-overlay ip_overlay\">\n <i class=\"ip_icon ip_processing\"></i>\n</div>\n";
|
11125
11249
|
});
|
11126
11250
|
return this.InfoparkHandlebarsTemplates["saving_overlay"];
|
11127
11251
|
}).call(this);
|
@@ -11142,39 +11266,212 @@ helpers = helpers || Handlebars.helpers; data = data || {};
|
|
11142
11266
|
});
|
11143
11267
|
return this.InfoparkHandlebarsTemplates["title"];
|
11144
11268
|
}).call(this);
|
11269
|
+
(function() {
|
11270
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11271
|
+
this.InfoparkHandlebarsTemplates["workspace_select_list"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11272
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11273
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11274
|
+
var buffer = "", stack1, self=this, functionType="function", escapeExpression=this.escapeExpression;
|
11275
|
+
|
11276
|
+
function program1(depth0,data) {
|
11277
|
+
|
11278
|
+
var buffer = "", stack1, stack2;
|
11279
|
+
buffer += "\n ";
|
11280
|
+
stack1 = helpers.unless.call(depth0, depth0.is_editable, {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data});
|
11281
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11282
|
+
buffer += "\n\n <li class=\"ip_menu_item\">\n <span>\n <i class=\"ip_icon\" title=\""
|
11283
|
+
+ escapeExpression(((stack1 = depth0.long_title),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
11284
|
+
+ "\">\n ";
|
11285
|
+
stack2 = helpers['if'].call(depth0, depth0.is_editable, {hash:{},inverse:self.program(6, program6, data),fn:self.program(4, program4, data),data:data});
|
11286
|
+
if(stack2 || stack2 === 0) { buffer += stack2; }
|
11287
|
+
buffer += "\n </i>\n "
|
11288
|
+
+ escapeExpression(((stack1 = depth0.short_title),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
11289
|
+
+ "\n ";
|
11290
|
+
stack2 = helpers['if'].call(depth0, depth0.is_current_workspace, {hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data});
|
11291
|
+
if(stack2 || stack2 === 0) { buffer += stack2; }
|
11292
|
+
buffer += "\n </span>\n </li>\n";
|
11293
|
+
return buffer;
|
11294
|
+
}
|
11295
|
+
function program2(depth0,data) {
|
11296
|
+
|
11297
|
+
|
11298
|
+
return "\n <li class=\"ip_menu_separator\"></li>\n ";
|
11299
|
+
}
|
11300
|
+
|
11301
|
+
function program4(depth0,data) {
|
11302
|
+
|
11303
|
+
|
11304
|
+
return "\n \n ";
|
11305
|
+
}
|
11306
|
+
|
11307
|
+
function program6(depth0,data) {
|
11308
|
+
|
11309
|
+
|
11310
|
+
return "\n \n ";
|
11311
|
+
}
|
11312
|
+
|
11313
|
+
function program8(depth0,data) {
|
11314
|
+
|
11315
|
+
|
11316
|
+
return "\n <i class=\"ip_icon\" title=\"check\"></i>\n ";
|
11317
|
+
}
|
11318
|
+
|
11319
|
+
stack1 = helpers.each.call(depth0, depth0.workspaces, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11320
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
11321
|
+
buffer += "\n";
|
11322
|
+
return buffer;
|
11323
|
+
});
|
11324
|
+
return this.InfoparkHandlebarsTemplates["workspace_select_list"];
|
11325
|
+
}).call(this);
|
11326
|
+
(function() {
|
11327
|
+
this.InfoparkHandlebarsTemplates || (this.InfoparkHandlebarsTemplates = {});
|
11328
|
+
this.InfoparkHandlebarsTemplates["workspace_select_menu_bar_item"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
11329
|
+
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
11330
|
+
helpers = helpers || Handlebars.helpers; data = data || {};
|
11331
|
+
var buffer = "", stack1, stack2, options, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, functionType="function", self=this;
|
11332
|
+
|
11333
|
+
function program1(depth0,data) {
|
11334
|
+
|
11335
|
+
var buffer = "", stack1, options;
|
11336
|
+
buffer += "\n <li class=\"ip_menu_separator\"></li>\n <li class=\"ip_menu_item\">\n <span id='ip-publish-current-ws'>\n <i class=\"ip_icon\"\n title=\"";
|
11337
|
+
options = {hash:{},data:data};
|
11338
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.publish_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.publish_working_copy", depth0.current_short_title, options)))
|
11339
|
+
+ " \">\n \n </i>\n ";
|
11340
|
+
options = {hash:{},data:data};
|
11341
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.publish_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.publish_working_copy", depth0.current_short_title, options)))
|
11342
|
+
+ "\n </span>\n </li>\n <li class=\"ip_menu_item\">\n <span id='ip-rename-current-ws'>\n <i class=\"ip_icon\"\n title=\"";
|
11343
|
+
options = {hash:{},data:data};
|
11344
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.rename_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.rename_working_copy", depth0.current_short_title, options)))
|
11345
|
+
+ " \"></i>\n ";
|
11346
|
+
options = {hash:{},data:data};
|
11347
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.rename_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.rename_working_copy", depth0.current_short_title, options)))
|
11348
|
+
+ "\n </span>\n </li>\n <li class=\"ip_menu_item\">\n <span id='ip-delete-current-ws'>\n <i class=\"ip_icon\"\n title=\"";
|
11349
|
+
options = {hash:{},data:data};
|
11350
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.delete_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.delete_working_copy", depth0.current_short_title, options)))
|
11351
|
+
+ " \"></i>\n ";
|
11352
|
+
options = {hash:{},data:data};
|
11353
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.delete_working_copy", depth0.current_short_title, options) : helperMissing.call(depth0, "translate", "menu_bar.delete_working_copy", depth0.current_short_title, options)))
|
11354
|
+
+ "\n </span>\n </li>\n ";
|
11355
|
+
return buffer;
|
11356
|
+
}
|
11357
|
+
|
11358
|
+
buffer += "<i class=\"ip_icon\"></i>\n<span class=\"ip_button_label\">";
|
11359
|
+
if (stack1 = helpers.current_long_title) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
11360
|
+
else { stack1 = depth0.current_long_title; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
11361
|
+
buffer += escapeExpression(stack1)
|
11362
|
+
+ "</span>\n\n<ul class=\"ip_menu_box\" style=\"display: none;\">\n <li class=\"ip_menu_item\">\n <span id='ip-create-new-ws'>\n <i class=\"ip_icon\" title=\"";
|
11363
|
+
options = {hash:{},data:data};
|
11364
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.create_new_working_copy", options) : helperMissing.call(depth0, "translate", "menu_bar.create_new_working_copy", options)))
|
11365
|
+
+ "\"></i>\n ";
|
11366
|
+
options = {hash:{},data:data};
|
11367
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.create_new_working_copy", options) : helperMissing.call(depth0, "translate", "menu_bar.create_new_working_copy", options)))
|
11368
|
+
+ "\n </span>\n </li>\n ";
|
11369
|
+
stack2 = helpers['if'].call(depth0, ((stack1 = depth0.current_workspace),stack1 == null || stack1 === false ? stack1 : stack1.is_editable), {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
|
11370
|
+
if(stack2 || stack2 === 0) { buffer += stack2; }
|
11371
|
+
buffer += "\n <li class=\"ip_menu_separator\"></li>\n <li class=\"ip_menu_item\" id=\"ip_replace_with_real_ws\">\n <span>\n <i class=\"ip_icon ip_spinning\"\n title=\"";
|
11372
|
+
options = {hash:{},data:data};
|
11373
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.loading_workspaces", options) : helperMissing.call(depth0, "translate", "menu_bar.loading_workspaces", options)))
|
11374
|
+
+ "\"></i>\n ";
|
11375
|
+
options = {hash:{},data:data};
|
11376
|
+
buffer += escapeExpression(((stack1 = helpers.translate),stack1 ? stack1.call(depth0, "menu_bar.loading_workspaces", options) : helperMissing.call(depth0, "translate", "menu_bar.loading_workspaces", options)))
|
11377
|
+
+ "\n </span>\n </li>\n</ul>\n";
|
11378
|
+
return buffer;
|
11379
|
+
});
|
11380
|
+
return this.InfoparkHandlebarsTemplates["workspace_select_menu_bar_item"];
|
11381
|
+
}).call(this);
|
11145
11382
|
$.i18n().load({
|
11146
11383
|
'confirm': 'Bestätigen',
|
11147
11384
|
'cancel': 'Abbrechen',
|
11148
11385
|
'save': 'Speichern',
|
11149
11386
|
'welcome': 'Willkommen',
|
11150
|
-
|
11151
|
-
'
|
11152
|
-
|
11153
|
-
'
|
11387
|
+
'welcome_x': 'Willkommen $1',
|
11388
|
+
'accept': 'Übernehmen',
|
11389
|
+
|
11390
|
+
'choose_obj_class_dialog.add_child_page.title': 'Seitenvorlage auswählen',
|
11391
|
+
'choose_obj_class_dialog.add_widget.title': 'Widget auswählen',
|
11392
|
+
|
11393
|
+
'menu_bar.deactivate_editing': 'Direktbearbeitung deaktivieren',
|
11394
|
+
'menu_bar.working_copy': 'Arbeitskopie',
|
11395
|
+
'menu_bar.empty_workspace_title': '<leerer Titel>',
|
11396
|
+
'menu_bar.published_workspace_title': 'Veröffentlichte Inhalte',
|
11397
|
+
'menu_bar.loading_workspaces': 'Lade Arbeitskopien',
|
11398
|
+
'menu_bar.publish_working_copy': '"$1" veröffentlichen',
|
11399
|
+
'menu_bar.publish_ws_confirmation': '"$1" veröffentlichen?',
|
11400
|
+
'menu_bar.publish_ws_confirmation_desc': 'Eine Arbeitskopie zu veröffentlichen ist endgültig. Dieser Vorgang kann nicht rückgängig gemacht werden.',
|
11401
|
+
'menu_bar.rename_working_copy': '"$1" umbenennen',
|
11402
|
+
'menu_bar.rename_working_copy_desc': 'Bitte geben Sie den neuen Titel der Arbeitskopie ein.',
|
11403
|
+
'menu_bar.rename': 'Umbenennen',
|
11404
|
+
'menu_bar.delete_working_copy': '"$1" löschen',
|
11405
|
+
'menu_bar.delete_ws_confirmation': 'Wirklich "$1" löschen?',
|
11406
|
+
'menu_bar.delete_ws_confirmation_desc': 'Eine gelöschte Arbeitskopie kann nicht wiederhergestellt werden.',
|
11407
|
+
'menu_bar.delete': 'Löschen',
|
11408
|
+
'menu_bar.create': 'Anlegen',
|
11409
|
+
'menu_bar.publish': 'Veröffentlichen',
|
11410
|
+
'menu_bar.create_new_working_copy': 'Arbeitskopie anlegen',
|
11411
|
+
'menu_bar.create_new_ws_confirmation': 'Arbeitskopie anlegen',
|
11412
|
+
'menu_bar.create_new_ws_confirmation_desc': 'Bitte geben Sie den Titel der neuen Arbeitskopie ein.',
|
11413
|
+
'menu_bar.create_new_ws_confirmation_placeholder': 'Neuer Titel',
|
11414
|
+
'menu_bar.delete_current_page': 'Diese Seite löschen',
|
11415
|
+
|
11416
|
+
'child_list_menus.add_subpage': 'Neue Seite anlegen',
|
11154
11417
|
|
11155
11418
|
'widget_menus.add_widget': 'Widget einfügen',
|
11156
11419
|
'widget_menus.delete_widget': 'Widget löschen',
|
11157
|
-
'widget_menus.open_in_admin_gui': '
|
11420
|
+
'widget_menus.open_in_admin_gui': ' Im Admin-GUI öffnen',
|
11158
11421
|
|
11159
|
-
'commands.
|
11160
|
-
'commands.
|
11422
|
+
'commands.delete_obj.confirm_title': 'Sind Sie sicher, dass sie diese Seite löschen wollen?',
|
11423
|
+
'commands.delete_obj.confirm_description': 'Das kann nicht mehr rückgängig gemacht werden!',
|
11424
|
+
'commands.delete_widget.confirm_title': 'Wirklich dieses Widget löschen?',
|
11425
|
+
'commands.delete_widget.confirm_description': 'Ein gelöschtes Widget kann nicht wiederhergestellt werden.',
|
11426
|
+
|
11427
|
+
'image_upload.too_many_files': 'Nur eine Detei erlaubt.'
|
11161
11428
|
}, 'de');
|
11162
11429
|
$.i18n().load({
|
11163
11430
|
'confirm': 'Confirm',
|
11164
11431
|
'cancel': 'Cancel',
|
11165
11432
|
'save': 'Save',
|
11166
11433
|
'welcome': 'Welcome',
|
11167
|
-
|
11168
|
-
'
|
11169
|
-
|
11170
|
-
'
|
11434
|
+
'welcome_x': 'Welcome $1',
|
11435
|
+
'accept': 'Accept',
|
11436
|
+
|
11437
|
+
'choose_obj_class_dialog.add_child_page.title': 'Select Page Type',
|
11438
|
+
'choose_obj_class_dialog.add_widget.title': 'Select Widget',
|
11439
|
+
|
11440
|
+
'menu_bar.deactivate_editing': 'deactivate in-place editing',
|
11441
|
+
'menu_bar.working_copy': 'Working copy',
|
11442
|
+
'menu_bar.empty_workspace_title': '<empty title>',
|
11443
|
+
'menu_bar.published_workspace_title': 'Published content',
|
11444
|
+
'menu_bar.loading_workspaces': 'Loading working copies',
|
11445
|
+
'menu_bar.publish_working_copy': 'Publish "$1"',
|
11446
|
+
'menu_bar.publish_ws_confirmation': 'Publish "$1"?',
|
11447
|
+
'menu_bar.publish_ws_confirmation_desc': 'Publishing a working copy is final. This action cannot be undone.',
|
11448
|
+
'menu_bar.rename_working_copy': 'Rename "$1"',
|
11449
|
+
'menu_bar.rename_working_copy_desc': 'Please enter the new title of the working copy.',
|
11450
|
+
'menu_bar.rename': 'Rename',
|
11451
|
+
'menu_bar.delete_working_copy': 'Delete "$1"',
|
11452
|
+
'menu_bar.delete_ws_confirmation': 'Really delete "$1"?',
|
11453
|
+
'menu_bar.delete_ws_confirmation_desc': 'A deleted working copy cannot be restored.',
|
11454
|
+
'menu_bar.delete': 'Delete',
|
11455
|
+
'menu_bar.create': 'Create',
|
11456
|
+
'menu_bar.publish': 'Publish',
|
11457
|
+
'menu_bar.create_new_working_copy': 'Create working copy',
|
11458
|
+
'menu_bar.create_new_ws_confirmation': 'Create a working copy',
|
11459
|
+
'menu_bar.create_new_ws_confirmation_desc': 'Please enter the title of the new working copy.',
|
11460
|
+
'menu_bar.create_new_ws_confirmation_placeholder': 'new title',
|
11461
|
+
'menu_bar.delete_current_page': 'Delete this page',
|
11462
|
+
|
11463
|
+
'child_list_menus.add_subpage': 'Create new page',
|
11171
11464
|
|
11172
11465
|
'widget_menus.add_widget': 'Insert widget',
|
11173
|
-
'widget_menus.delete_widget': '
|
11466
|
+
'widget_menus.delete_widget': 'Delete widget',
|
11174
11467
|
'widget_menus.open_in_admin_gui': 'Open in admin GUI',
|
11175
11468
|
|
11176
|
-
'commands.
|
11177
|
-
'commands.
|
11469
|
+
'commands.delete_obj.confirm_title': 'Are you sure you want to delete this page?',
|
11470
|
+
'commands.delete_obj.confirm_description': 'This can not be undone!',
|
11471
|
+
'commands.delete_widget.confirm_title': 'Really delete this widget?',
|
11472
|
+
'commands.delete_widget.confirm_description': 'A deleted widget cannot be restored.',
|
11473
|
+
|
11474
|
+
'image_upload.too_many_files': 'Only one file allowed.'
|
11178
11475
|
}, 'en');
|
11179
11476
|
/*global alert:false */
|
11180
11477
|
|
@@ -11183,13 +11480,39 @@ var infopark = {
|
|
11183
11480
|
suppress_alerts: false,
|
11184
11481
|
|
11185
11482
|
alert: function(message) {
|
11186
|
-
if (infopark.suppress_alerts) {
|
11187
|
-
window.console.debug('Infopark alert: ' + message);
|
11188
|
-
} else {
|
11483
|
+
if (!infopark.suppress_alerts) {
|
11189
11484
|
window.alert(message);
|
11190
11485
|
}
|
11191
11486
|
},
|
11192
11487
|
|
11488
|
+
change_location: function(location) {
|
11489
|
+
// this is a proxy method, so we can stub it easier.
|
11490
|
+
window.location = location;
|
11491
|
+
},
|
11492
|
+
|
11493
|
+
redirect_to: function(location) {
|
11494
|
+
infopark.change_location(location);
|
11495
|
+
// it returns an never resolved or rejected deferred.
|
11496
|
+
return $.Deferred();
|
11497
|
+
},
|
11498
|
+
|
11499
|
+
wait: function(seconds) {
|
11500
|
+
// this is a proxy method, so we can stub it easier.
|
11501
|
+
return $.Deferred(function(dfd) {
|
11502
|
+
setTimeout(dfd.resolve, seconds * 1000);
|
11503
|
+
});
|
11504
|
+
},
|
11505
|
+
|
11506
|
+
// For testing purpose only.
|
11507
|
+
reload_location: function() {
|
11508
|
+
window.location.reload();
|
11509
|
+
},
|
11510
|
+
|
11511
|
+
reload: function() {
|
11512
|
+
infopark.reload_location();
|
11513
|
+
return $.Deferred();
|
11514
|
+
},
|
11515
|
+
|
11193
11516
|
center: function(elem) {
|
11194
11517
|
if (elem.length === 1) {
|
11195
11518
|
elem.css({
|
@@ -11200,6 +11523,19 @@ var infopark = {
|
|
11200
11523
|
}
|
11201
11524
|
},
|
11202
11525
|
|
11526
|
+
ensure_fully_visible_within: function(elem, viewport_container, viewport_height) {
|
11527
|
+
var viewport_offset = viewport_container.scrollTop();
|
11528
|
+
|
11529
|
+
var widget_offset = elem.offset().top;
|
11530
|
+
var widget_height = elem.height();
|
11531
|
+
|
11532
|
+
if (viewport_offset > widget_offset) {
|
11533
|
+
viewport_container.animate({scrollTop: widget_offset - 50});
|
11534
|
+
} else if (widget_offset + widget_height > viewport_offset + viewport_height) {
|
11535
|
+
viewport_container.animate({scrollTop: widget_height + widget_offset + 50 - viewport_height});
|
11536
|
+
}
|
11537
|
+
},
|
11538
|
+
|
11203
11539
|
describe_element: function(elem) {
|
11204
11540
|
var description = elem.get(0).nodeName;
|
11205
11541
|
if (elem.attr("id")) { description += "#"+elem.attr("id"); }
|
@@ -11212,7 +11548,33 @@ var infopark = {
|
|
11212
11548
|
return "["+description+"]";
|
11213
11549
|
},
|
11214
11550
|
|
11215
|
-
|
11551
|
+
add_enter_and_escape_action: function(enter_action, escape_action) {
|
11552
|
+
var key_actions = {
|
11553
|
+
13: enter_action, // enter key
|
11554
|
+
27: escape_action // escape key
|
11555
|
+
};
|
11556
|
+
|
11557
|
+
$(document).on('keyup.ip_enter_escape_action', function(e) {
|
11558
|
+
if (key_actions[e.keyCode]) {
|
11559
|
+
e.preventDefault();
|
11560
|
+
key_actions[e.keyCode](e);
|
11561
|
+
}
|
11562
|
+
});
|
11563
|
+
},
|
11564
|
+
|
11565
|
+
remove_enter_and_escape_action: function() {
|
11566
|
+
$(document).off('keyup.ip_enter_escape_action');
|
11567
|
+
},
|
11568
|
+
|
11569
|
+
admin_gui_base_url: null,
|
11570
|
+
|
11571
|
+
random_hex: function() {
|
11572
|
+
var hex = Math.floor(Math.random() * Math.pow(16, 8)).toString(16);
|
11573
|
+
while (hex.length < 8) {
|
11574
|
+
hex = '0' + hex;
|
11575
|
+
}
|
11576
|
+
return hex;
|
11577
|
+
}
|
11216
11578
|
};
|
11217
11579
|
(function() {
|
11218
11580
|
var valid_locale = ['en', 'de'];
|
@@ -11232,9 +11594,9 @@ var infopark = {
|
|
11232
11594
|
}
|
11233
11595
|
},
|
11234
11596
|
|
11235
|
-
translate: function(key) {
|
11597
|
+
translate: function(key, param1) {
|
11236
11598
|
$.i18n().locale = infopark.i18n.locale();
|
11237
|
-
return $.i18n(key);
|
11599
|
+
return $.i18n(key, param1);
|
11238
11600
|
}
|
11239
11601
|
}
|
11240
11602
|
});
|
@@ -11244,22 +11606,30 @@ var infopark = {
|
|
11244
11606
|
|
11245
11607
|
var event_handlers = {};
|
11246
11608
|
|
11609
|
+
var current_workspace;
|
11610
|
+
|
11611
|
+
var real_activate = function(options) {
|
11612
|
+
if(!infopark.editing.is_active()) {
|
11613
|
+
editing_active = true;
|
11614
|
+
$.cookie('infopark_editing_active', 'true', { path: '/' });
|
11615
|
+
_.each($(event_handlers.activate), function(handler) {
|
11616
|
+
handler(options || {});
|
11617
|
+
});
|
11618
|
+
}
|
11619
|
+
};
|
11620
|
+
|
11247
11621
|
$.extend(infopark, {
|
11248
11622
|
editing: {
|
11249
11623
|
initialize: function() {
|
11250
11624
|
if($.cookie('infopark_editing_active') === 'true') {
|
11251
|
-
|
11625
|
+
real_activate({on_initialize: true});
|
11252
11626
|
}
|
11253
11627
|
|
11254
11628
|
$('body').append('<div id="ip-editing"></div>');
|
11255
11629
|
},
|
11256
11630
|
|
11257
11631
|
activate: function() {
|
11258
|
-
|
11259
|
-
$.cookie('infopark_editing_active', 'true', { path: '/' });
|
11260
|
-
_.each($(event_handlers.activate), function(handler) {
|
11261
|
-
handler();
|
11262
|
-
});
|
11632
|
+
return real_activate();
|
11263
11633
|
},
|
11264
11634
|
|
11265
11635
|
deactivate: function() {
|
@@ -11287,6 +11657,14 @@ var infopark = {
|
|
11287
11657
|
event_handlers[event_name].push(handler);
|
11288
11658
|
},
|
11289
11659
|
|
11660
|
+
set_workspace: function(workspace) {
|
11661
|
+
current_workspace = workspace;
|
11662
|
+
},
|
11663
|
+
|
11664
|
+
workspace: function() {
|
11665
|
+
return current_workspace;
|
11666
|
+
},
|
11667
|
+
|
11290
11668
|
// for testing purposes only
|
11291
11669
|
reset_event_handlers: function() {
|
11292
11670
|
event_handlers = {};
|
@@ -11295,59 +11673,419 @@ var infopark = {
|
|
11295
11673
|
});
|
11296
11674
|
}());
|
11297
11675
|
(function() {
|
11298
|
-
|
11299
|
-
|
11300
|
-
|
11301
|
-
|
11302
|
-
|
11303
|
-
|
11304
|
-
|
11676
|
+
var handle_task = function(task) {
|
11677
|
+
switch (task.status) {
|
11678
|
+
case 'success':
|
11679
|
+
return $.Deferred().resolve(task.result);
|
11680
|
+
case 'error':
|
11681
|
+
return $.Deferred().reject(task.message);
|
11682
|
+
case 'open':
|
11683
|
+
return infopark.wait(2).then(function() {
|
11684
|
+
return single_ajax('GET', 'tasks/' + task.id).then(function(data) {
|
11685
|
+
return handle_task(data);
|
11686
|
+
});
|
11687
|
+
});
|
11688
|
+
default:
|
11689
|
+
throw { message: "Invalid task (wrong status)", task: task };
|
11690
|
+
}
|
11691
|
+
};
|
11692
|
+
|
11693
|
+
var single_ajax = function(type, path, options) {
|
11694
|
+
var base_url = window.location.protocol + '//' + window.location.host + '/__ipcms/';
|
11695
|
+
if (options && options.data) {
|
11696
|
+
options.data = JSON.stringify(options.data);
|
11697
|
+
}
|
11698
|
+
return $.ajax(base_url + path, $.extend(options || {}, {
|
11699
|
+
type: type, dataType: 'json', contentType: 'application/json; charset=utf-8'
|
11700
|
+
})).then(
|
11701
|
+
function(result, text_status, xhr) {
|
11702
|
+
return $.Deferred().resolve(result);
|
11703
|
+
}, function(xhr, text_status, error) {
|
11704
|
+
var error_message;
|
11305
11705
|
try {
|
11306
|
-
|
11706
|
+
error_message = JSON.parse(xhr.responseText).error;
|
11307
11707
|
} catch (SyntaxError) {}
|
11308
11708
|
|
11309
|
-
if (!
|
11310
|
-
|
11709
|
+
if (!error_message) {
|
11710
|
+
error_message = error;
|
11311
11711
|
}
|
11712
|
+
return $.Deferred().reject(error_message);
|
11713
|
+
}
|
11714
|
+
).fail(function(error_message) {
|
11715
|
+
infopark.alert(error_message);
|
11716
|
+
});
|
11717
|
+
};
|
11312
11718
|
|
11313
|
-
|
11719
|
+
$.extend(infopark, {
|
11720
|
+
ajax: function(type, path, options) {
|
11721
|
+
return single_ajax(type, path, options).then(function(result) {
|
11722
|
+
if (result && result.task && _.size(result) === 1) {
|
11723
|
+
return handle_task(result.task);
|
11724
|
+
} else {
|
11725
|
+
return $.Deferred().resolve(result);
|
11726
|
+
}
|
11314
11727
|
});
|
11315
11728
|
}
|
11316
11729
|
});
|
11317
11730
|
}());
|
11318
11731
|
(function() {
|
11319
|
-
|
11320
|
-
|
11321
|
-
create_instance: function(dom_element) {
|
11322
|
-
var that = {
|
11323
|
-
dom_element: function() {
|
11324
|
-
return dom_element;
|
11325
|
-
}
|
11326
|
-
};
|
11732
|
+
var fade_time = 500;
|
11733
|
+
var menu_bar_items_renderer = [];
|
11327
11734
|
|
11328
|
-
|
11735
|
+
var add_menu_bar = function(skip_fade) {
|
11736
|
+
var body = $('body');
|
11737
|
+
body.addClass('ip_editing_active');
|
11738
|
+
|
11739
|
+
var view = $(infopark.template.render('menu_bar'));
|
11740
|
+
|
11741
|
+
_.each(menu_bar_items_renderer, function(item_renderer) {
|
11742
|
+
item_renderer(view);
|
11743
|
+
});
|
11744
|
+
|
11745
|
+
view.hide();
|
11746
|
+
body.append(view);
|
11747
|
+
if (skip_fade) {
|
11748
|
+
view.show();
|
11749
|
+
} else {
|
11750
|
+
view.slideDown(fade_time);
|
11751
|
+
}
|
11752
|
+
};
|
11753
|
+
|
11754
|
+
var remove_menu_bar = function() {
|
11755
|
+
var dom_item = $('.ip_topbar');
|
11756
|
+
dom_item.slideUp(fade_time, function() {
|
11757
|
+
dom_item.remove();
|
11758
|
+
});
|
11759
|
+
$('body').removeClass('ip_editing_active');
|
11760
|
+
};
|
11761
|
+
|
11762
|
+
$.extend(infopark, {
|
11763
|
+
menu_bar: {
|
11764
|
+
register_item_renderer: function(item_renderer) {
|
11765
|
+
menu_bar_items_renderer.push(item_renderer);
|
11329
11766
|
},
|
11330
|
-
|
11331
|
-
|
11332
|
-
|
11767
|
+
// this is for testing purposes only!
|
11768
|
+
reset_menu_bar_items_renderer: function() {
|
11769
|
+
menu_bar_items_renderer = [];
|
11770
|
+
},
|
11771
|
+
init: function() {
|
11772
|
+
infopark.editing.on('activate', function(options) {
|
11773
|
+
add_menu_bar(options.on_initialize === true);
|
11774
|
+
});
|
11333
11775
|
|
11334
|
-
|
11335
|
-
|
11336
|
-
return special_element;
|
11776
|
+
infopark.editing.on('deactivate', function() {
|
11777
|
+
remove_menu_bar();
|
11337
11778
|
});
|
11779
|
+
}
|
11780
|
+
}
|
11781
|
+
});
|
11782
|
+
}());
|
11783
|
+
(function() {
|
11784
|
+
var renderer = function(parent_view) {
|
11785
|
+
var view = $(infopark.template.render('deactivate_menu_bar_item'));
|
11786
|
+
parent_view.find('#ip_deactivate_editing').append(view);
|
11787
|
+
};
|
11338
11788
|
|
11339
|
-
|
11340
|
-
|
11341
|
-
|
11789
|
+
$(document).on("click.ip-deactivate-editing", "#ip_deactivate_editing", function(e) {
|
11790
|
+
e.preventDefault();
|
11791
|
+
infopark.editing.deactivate();
|
11792
|
+
});
|
11793
|
+
|
11794
|
+
$.extend(infopark, {
|
11795
|
+
deactivate_menu_bar_item: {
|
11796
|
+
init: function() {
|
11797
|
+
infopark.menu_bar.register_item_renderer(renderer);
|
11798
|
+
}
|
11342
11799
|
}
|
11343
11800
|
});
|
11344
11801
|
}());
|
11345
11802
|
(function() {
|
11346
11803
|
$.extend(infopark, {
|
11347
|
-
|
11348
|
-
|
11349
|
-
|
11350
|
-
|
11804
|
+
delete_current_page_item: {
|
11805
|
+
init: function() {
|
11806
|
+
infopark.menu_bar.register_item_renderer(function(target) {
|
11807
|
+
if (infopark.obj.current_page()) {
|
11808
|
+
target.find('#ip_delete_current_page').append(
|
11809
|
+
$(infopark.template.render('delete_current_page_item')));
|
11810
|
+
}
|
11811
|
+
});
|
11812
|
+
}
|
11813
|
+
}
|
11814
|
+
});
|
11815
|
+
|
11816
|
+
$(document).on('click.ip-delete-current-page', '#ip_delete_current_page', function(e) {
|
11817
|
+
e.preventDefault();
|
11818
|
+
infopark.commands.delete_obj(infopark.obj.current_page());
|
11819
|
+
});
|
11820
|
+
}());
|
11821
|
+
(function() {
|
11822
|
+
var t = infopark.i18n.translate;
|
11823
|
+
|
11824
|
+
var workspace_title_short = function(workspace) {
|
11825
|
+
if (workspace.is_editable()) {
|
11826
|
+
if (workspace.title()) {
|
11827
|
+
return workspace.title();
|
11828
|
+
} else {
|
11829
|
+
return t('menu_bar.empty_workspace_title');
|
11830
|
+
}
|
11831
|
+
} else {
|
11832
|
+
return t('menu_bar.published_workspace_title');
|
11833
|
+
}
|
11834
|
+
};
|
11835
|
+
|
11836
|
+
var workspace_title_long = function(workspace) {
|
11837
|
+
if (workspace.is_editable()) {
|
11838
|
+
var title = t('menu_bar.working_copy') + ': ';
|
11839
|
+
return title + workspace_title_short(workspace);
|
11840
|
+
} else {
|
11841
|
+
return workspace_title_short(workspace);
|
11842
|
+
}
|
11843
|
+
};
|
11844
|
+
|
11845
|
+
var renderer = function(view) {
|
11846
|
+
var select_menu_view = $(infopark.template.render('workspace_select_menu_bar_item', {
|
11847
|
+
current_workspace: infopark.editing.workspace(),
|
11848
|
+
current_short_title: workspace_title_short(infopark.editing.workspace()),
|
11849
|
+
current_long_title: workspace_title_long(infopark.editing.workspace())
|
11850
|
+
}));
|
11851
|
+
|
11852
|
+
view.find('#ip_select_workspace').append(select_menu_view);
|
11853
|
+
};
|
11854
|
+
|
11855
|
+
var default_click_action = function(e) {
|
11856
|
+
e.preventDefault();
|
11857
|
+
e.stopPropagation();
|
11858
|
+
$('#ip_select_workspace .ip_menu_box').fadeToggle('50');
|
11859
|
+
};
|
11860
|
+
|
11861
|
+
$(document).on("click.ip-toggle-ws-select", "#ip_select_workspace", function(e) {
|
11862
|
+
default_click_action(e);
|
11863
|
+
|
11864
|
+
var replace_with_real_ws = $('#ip_select_workspace #ip_replace_with_real_ws');
|
11865
|
+
if(replace_with_real_ws.length > 0) {
|
11866
|
+
infopark.workspace.all().done(function(workspaces) {
|
11867
|
+
var sorted_workspaces = _.sortBy(workspaces, function(ws) {
|
11868
|
+
if(ws.is_editable()) {
|
11869
|
+
return (ws.title() || '').toUpperCase();
|
11870
|
+
} else {
|
11871
|
+
return 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'; // max string
|
11872
|
+
}
|
11873
|
+
});
|
11874
|
+
|
11875
|
+
var handlebars_workspaces = _.map(sorted_workspaces, function(ws) {
|
11876
|
+
return {
|
11877
|
+
is_editable: ws.is_editable,
|
11878
|
+
long_title: workspace_title_long(ws),
|
11879
|
+
short_title: workspace_title_short(ws),
|
11880
|
+
is_current_workspace: (ws.id() === infopark.editing.workspace().id())
|
11881
|
+
};
|
11882
|
+
});
|
11883
|
+
|
11884
|
+
var ws_list_view_html = infopark.template.render('workspace_select_list', {
|
11885
|
+
workspaces: handlebars_workspaces
|
11886
|
+
});
|
11887
|
+
var ws_list_view = $($.trim(ws_list_view_html));
|
11888
|
+
|
11889
|
+
_.each(ws_list_view.find('span'), function(dom_element, index) {
|
11890
|
+
$(dom_element).on('click.ip_open_workspace', function(e) {
|
11891
|
+
default_click_action(e);
|
11892
|
+
infopark.redirect_to("?_rc-ws=" + sorted_workspaces[index].id());
|
11893
|
+
});
|
11894
|
+
});
|
11895
|
+
|
11896
|
+
replace_with_real_ws.replaceWith(ws_list_view);
|
11897
|
+
});
|
11898
|
+
}
|
11899
|
+
});
|
11900
|
+
|
11901
|
+
$(document).on("click.ip-create-ws", "#ip-create-new-ws", function(e) {
|
11902
|
+
default_click_action(e);
|
11903
|
+
infopark.prompt_dialog({
|
11904
|
+
icon: '',
|
11905
|
+
title: t('menu_bar.create_new_ws_confirmation'),
|
11906
|
+
description: t('menu_bar.create_new_ws_confirmation_desc'),
|
11907
|
+
placeholder: t('menu_bar.create_new_ws_confirmation_placeholder'),
|
11908
|
+
accept_button_text: t('menu_bar.create')
|
11909
|
+
}).done(function(title) {
|
11910
|
+
infopark.with_saving_overlay(
|
11911
|
+
infopark.workspace.create(title).then(function(new_workspace) {
|
11912
|
+
return infopark.redirect_to('?_rc-ws=' + new_workspace.id());
|
11913
|
+
})
|
11914
|
+
);
|
11915
|
+
});
|
11916
|
+
});
|
11917
|
+
|
11918
|
+
$(document).on("click.ip-publish-ws", "#ip-publish-current-ws", function(e) {
|
11919
|
+
default_click_action(e);
|
11920
|
+
infopark.confirmation_dialog({
|
11921
|
+
icon: '',
|
11922
|
+
confirm_button_text: t('menu_bar.publish'),
|
11923
|
+
title: t('menu_bar.publish_ws_confirmation', workspace_title_short(
|
11924
|
+
infopark.editing.workspace())),
|
11925
|
+
description: t('menu_bar.publish_ws_confirmation_desc')
|
11926
|
+
}).done(function() {
|
11927
|
+
infopark.with_saving_overlay(
|
11928
|
+
infopark.editing.workspace().publish().then(function() {
|
11929
|
+
return infopark.redirect_to('?_rc-ws=published');
|
11930
|
+
})
|
11931
|
+
);
|
11932
|
+
});
|
11933
|
+
});
|
11934
|
+
|
11935
|
+
$(document).on("click.ip-rename-ws", "#ip-rename-current-ws", function(e) {
|
11936
|
+
default_click_action(e);
|
11937
|
+
infopark.prompt_dialog({
|
11938
|
+
icon: '',
|
11939
|
+
title: t('menu_bar.rename_working_copy', infopark.editing.workspace().title()),
|
11940
|
+
description: t('menu_bar.rename_working_copy_desc'),
|
11941
|
+
value: infopark.editing.workspace().title(),
|
11942
|
+
accept_button_text: t('menu_bar.rename')
|
11943
|
+
}).done(function(new_title) {
|
11944
|
+
infopark.with_saving_overlay(
|
11945
|
+
infopark.editing.workspace().rename(new_title).then(function() {
|
11946
|
+
return infopark.redirect_to('?_rc-ws=' + infopark.editing.workspace().id());
|
11947
|
+
})
|
11948
|
+
);
|
11949
|
+
});
|
11950
|
+
});
|
11951
|
+
|
11952
|
+
$(document).on("click.ip-delete-ws", "#ip-delete-current-ws", function(e) {
|
11953
|
+
default_click_action(e);
|
11954
|
+
infopark.confirmation_dialog({
|
11955
|
+
icon: '',
|
11956
|
+
confirm_button_color: 'ip_red',
|
11957
|
+
confirm_button_text: t('menu_bar.delete'),
|
11958
|
+
title: t('menu_bar.delete_ws_confirmation', workspace_title_short(
|
11959
|
+
infopark.editing.workspace())),
|
11960
|
+
description: t('menu_bar.delete_ws_confirmation_desc')
|
11961
|
+
}).done(function() {
|
11962
|
+
infopark.with_saving_overlay(
|
11963
|
+
infopark.editing.workspace().destroy().then(function(new_workspace) {
|
11964
|
+
return infopark.redirect_to('?_rc-ws=published');
|
11965
|
+
})
|
11966
|
+
);
|
11967
|
+
});
|
11968
|
+
});
|
11969
|
+
|
11970
|
+
$.extend(infopark, {
|
11971
|
+
workspace_select: {
|
11972
|
+
init: function() {
|
11973
|
+
infopark.menu_bar.register_item_renderer(renderer);
|
11974
|
+
}
|
11975
|
+
}
|
11976
|
+
});
|
11977
|
+
}());
|
11978
|
+
(function() {
|
11979
|
+
|
11980
|
+
$.extend(infopark, {
|
11981
|
+
blob: {
|
11982
|
+
create: function(file) {
|
11983
|
+
return get_upload_permission().then(function(permission) {
|
11984
|
+
return upload_to_s3(file, permission);
|
11985
|
+
});
|
11986
|
+
},
|
11987
|
+
|
11988
|
+
// For testing purpose only.
|
11989
|
+
get_form_data: function() {
|
11990
|
+
return new FormData();
|
11991
|
+
}
|
11992
|
+
}
|
11993
|
+
});
|
11994
|
+
|
11995
|
+
var get_upload_permission = function() {
|
11996
|
+
return infopark.ajax('GET', 'blobs/upload_permission');
|
11997
|
+
};
|
11998
|
+
|
11999
|
+
var upload_to_s3 = function(file, permission) {
|
12000
|
+
var form_data = infopark.blob.get_form_data();
|
12001
|
+
_.each(permission.fields, function(value, name) {
|
12002
|
+
form_data.append(name, value);
|
12003
|
+
});
|
12004
|
+
form_data.append('file', file); // File must be appended last, otherwise S3 will complain.
|
12005
|
+
|
12006
|
+
return $.ajax({type: 'POST', url: permission.url, data: form_data,
|
12007
|
+
// These are needed in order for jQuery to work properly with a FormData.
|
12008
|
+
contentType: false,
|
12009
|
+
processData: false
|
12010
|
+
}).then(function() { return permission.blob; });
|
12011
|
+
};
|
12012
|
+
|
12013
|
+
}());
|
12014
|
+
(function() {
|
12015
|
+
$.extend(infopark, {
|
12016
|
+
child_list_element: {
|
12017
|
+
create_instance: function(cms_element) {
|
12018
|
+
if (cms_element.dom_element().attr('data-ip-child-list-path')) {
|
12019
|
+
var that = cms_element;
|
12020
|
+
|
12021
|
+
$.extend(that, {
|
12022
|
+
path: function() {
|
12023
|
+
return that.dom_element().attr('data-ip-child-list-path');
|
12024
|
+
},
|
12025
|
+
|
12026
|
+
fetch_page_class_selection: function() {
|
12027
|
+
return infopark.ajax('GET', 'objs/page_class_selection');
|
12028
|
+
},
|
12029
|
+
|
12030
|
+
create_child: function(obj_class) {
|
12031
|
+
var name = infopark.random_hex();
|
12032
|
+
var path = that.path() + "/" + name;
|
12033
|
+
|
12034
|
+
return infopark.obj.create({
|
12035
|
+
_path: path,
|
12036
|
+
_obj_class: obj_class
|
12037
|
+
});
|
12038
|
+
}
|
12039
|
+
});
|
12040
|
+
|
12041
|
+
return that;
|
12042
|
+
}
|
12043
|
+
},
|
12044
|
+
all: function() {
|
12045
|
+
return _.map($('[data-ip-child-list-path]'), function(dom_element) {
|
12046
|
+
return infopark.cms_element.from_dom_element($(dom_element));
|
12047
|
+
});
|
12048
|
+
}
|
12049
|
+
}
|
12050
|
+
});
|
12051
|
+
}());
|
12052
|
+
|
12053
|
+
$(function() {
|
12054
|
+
infopark.cms_element.definitions.push(infopark.child_list_element);
|
12055
|
+
});
|
12056
|
+
(function() {
|
12057
|
+
$.extend(infopark, {
|
12058
|
+
cms_element: {
|
12059
|
+
create_instance: function(dom_element) {
|
12060
|
+
var that = {
|
12061
|
+
dom_element: function() {
|
12062
|
+
return dom_element;
|
12063
|
+
}
|
12064
|
+
};
|
12065
|
+
|
12066
|
+
return that;
|
12067
|
+
},
|
12068
|
+
from_dom_element: function(dom_element) {
|
12069
|
+
var cms_element = infopark.cms_element.create_instance(dom_element);
|
12070
|
+
var special_element;
|
12071
|
+
|
12072
|
+
_.detect(infopark.cms_element.definitions, function(definition) {
|
12073
|
+
special_element = definition.create_instance(cms_element);
|
12074
|
+
return special_element;
|
12075
|
+
});
|
12076
|
+
|
12077
|
+
return special_element;
|
12078
|
+
},
|
12079
|
+
definitions: []
|
12080
|
+
}
|
12081
|
+
});
|
12082
|
+
}());
|
12083
|
+
(function() {
|
12084
|
+
$.extend(infopark, {
|
12085
|
+
cms_field_element: {
|
12086
|
+
create_instance: function(cms_element) {
|
12087
|
+
var that = cms_element;
|
12088
|
+
|
11351
12089
|
$.extend(that, {
|
11352
12090
|
field_name: function() {
|
11353
12091
|
return that.dom_element().attr('data-ip-field-name');
|
@@ -11409,28 +12147,40 @@ var infopark = {
|
|
11409
12147
|
id: function() {
|
11410
12148
|
return id;
|
11411
12149
|
},
|
12150
|
+
|
11412
12151
|
obj_class_name: function() {
|
11413
12152
|
return obj_class_name;
|
11414
12153
|
},
|
11415
12154
|
|
11416
12155
|
save: function(data) {
|
11417
|
-
|
11418
|
-
|
11419
|
-
function(data, text_status, xhr) { return; }
|
12156
|
+
return infopark.ajax('PUT', 'objs/' + that.id(), {data: {obj: data}}).then(
|
12157
|
+
function(result) { return; }
|
11420
12158
|
);
|
11421
12159
|
},
|
11422
12160
|
|
11423
12161
|
destroy: function() {
|
11424
|
-
return infopark.ajax('DELETE', 'objs/' + that.id())
|
11425
|
-
function(data, text_status, xhr) { return data; }
|
11426
|
-
);
|
12162
|
+
return infopark.ajax('DELETE', 'objs/' + that.id());
|
11427
12163
|
}
|
11428
12164
|
};
|
11429
12165
|
|
11430
12166
|
return that;
|
11431
12167
|
},
|
11432
12168
|
|
11433
|
-
|
12169
|
+
create: function(data) {
|
12170
|
+
return infopark.ajax('POST', 'objs', {data: {obj: data}}).then(
|
12171
|
+
function(new_data) {
|
12172
|
+
return infopark.obj.create_instance(new_data.id, new_data._obj_class);
|
12173
|
+
}
|
12174
|
+
);
|
12175
|
+
},
|
12176
|
+
|
12177
|
+
current_page_id: null,
|
12178
|
+
|
12179
|
+
current_page: function() {
|
12180
|
+
if (infopark.obj.current_page_id) {
|
12181
|
+
return infopark.obj.create_instance(infopark.obj.current_page_id);
|
12182
|
+
}
|
12183
|
+
}
|
11434
12184
|
}
|
11435
12185
|
});
|
11436
12186
|
}());
|
@@ -11514,17 +12264,18 @@ var infopark = {
|
|
11514
12264
|
},
|
11515
12265
|
|
11516
12266
|
create_widget: function(widget_class) {
|
11517
|
-
var
|
12267
|
+
var url = 'objs/' + that.obj().id() + '/create_widget';
|
12268
|
+
var data = {
|
11518
12269
|
obj_class: widget_class,
|
11519
|
-
|
12270
|
+
current_page_id: infopark.obj.current_page().id(),
|
11520
12271
|
field_name: that.field_name()
|
11521
|
-
}
|
12272
|
+
};
|
11522
12273
|
|
11523
|
-
|
11524
|
-
|
11525
|
-
|
11526
|
-
|
11527
|
-
);
|
12274
|
+
return infopark.ajax('POST', url, {data: data});
|
12275
|
+
},
|
12276
|
+
|
12277
|
+
fetch_widget_class_selection: function() {
|
12278
|
+
return infopark.ajax('GET', 'objs/_/widget_class_selection');
|
11528
12279
|
}
|
11529
12280
|
});
|
11530
12281
|
|
@@ -11542,6 +12293,54 @@ var infopark = {
|
|
11542
12293
|
|
11543
12294
|
infopark.cms_element.definitions.push(infopark.widget_field_element);
|
11544
12295
|
}());
|
12296
|
+
(function() {
|
12297
|
+
$.extend(infopark, {
|
12298
|
+
workspace: {
|
12299
|
+
from_data: function(data) {
|
12300
|
+
var that = {
|
12301
|
+
id: function() {
|
12302
|
+
return data.id;
|
12303
|
+
},
|
12304
|
+
title: function() {
|
12305
|
+
return data.title;
|
12306
|
+
},
|
12307
|
+
is_editable: function() {
|
12308
|
+
return that.id() !== 'published';
|
12309
|
+
},
|
12310
|
+
publish: function() {
|
12311
|
+
if (that.is_editable()) {
|
12312
|
+
return infopark.ajax('PUT', 'workspaces/' + that.id() + '/publish');
|
12313
|
+
} else {
|
12314
|
+
throw "publish not allowed for already published contents";
|
12315
|
+
}
|
12316
|
+
},
|
12317
|
+
rename: function(new_title) {
|
12318
|
+
return infopark.ajax('PUT', 'workspaces/' + that.id(),
|
12319
|
+
{data: {workspace: {title: new_title}}});
|
12320
|
+
},
|
12321
|
+
destroy: function() {
|
12322
|
+
return infopark.ajax('DELETE', 'workspaces/' + that.id());
|
12323
|
+
}
|
12324
|
+
};
|
12325
|
+
|
12326
|
+
return that;
|
12327
|
+
},
|
12328
|
+
all: function() {
|
12329
|
+
return infopark.ajax('GET', 'workspaces').then(function(ws_data) {
|
12330
|
+
return _.map(ws_data.results, function(workspace) {
|
12331
|
+
return infopark.workspace.from_data(workspace);
|
12332
|
+
});
|
12333
|
+
});
|
12334
|
+
},
|
12335
|
+
create: function(title) {
|
12336
|
+
return infopark.ajax('POST', 'workspaces', {data: {workspace: {title: title}}}).
|
12337
|
+
then(function(ws_data) {
|
12338
|
+
return infopark.workspace.from_data(ws_data);
|
12339
|
+
});
|
12340
|
+
}
|
12341
|
+
}
|
12342
|
+
});
|
12343
|
+
}());
|
11545
12344
|
(function() {
|
11546
12345
|
$.extend(infopark, {
|
11547
12346
|
/*
|
@@ -11575,6 +12374,9 @@ var infopark = {
|
|
11575
12374
|
var save_action = function(obj, event, key) {
|
11576
12375
|
obj.$box.addClass('ip_field_saving');
|
11577
12376
|
|
12377
|
+
if (!obj.opts.visual) {
|
12378
|
+
obj.toggle();
|
12379
|
+
}
|
11578
12380
|
var item = infopark.cms_element.from_dom_element(obj.$content);
|
11579
12381
|
item.save().done(function() {
|
11580
12382
|
obj.$editor.destroyEditor();
|
@@ -11649,24 +12451,28 @@ var infopark = {
|
|
11649
12451
|
};
|
11650
12452
|
|
11651
12453
|
var add_onclick_redactor_handlers = function() {
|
11652
|
-
|
11653
|
-
|
11654
|
-
|
11655
|
-
|
11656
|
-
if(
|
11657
|
-
$(dom_item).
|
11658
|
-
|
11659
|
-
|
11660
|
-
|
11661
|
-
|
11662
|
-
|
11663
|
-
|
11664
|
-
|
11665
|
-
|
11666
|
-
|
12454
|
+
if (infopark.editing.workspace().is_editable()) {
|
12455
|
+
_.each(cms_fields(), function(cms_field) {
|
12456
|
+
var redactor_options = redactor_options_for_type(cms_field.field_type());
|
12457
|
+
var dom_item = cms_field.dom_element();
|
12458
|
+
if (redactor_options !== null) {
|
12459
|
+
if(!($(dom_item).hasClass('ip_field_editable'))) {
|
12460
|
+
$(dom_item).addClass('ip_field_editable');
|
12461
|
+
|
12462
|
+
$(dom_item).on('click.ip-editing', function(e) {
|
12463
|
+
e.preventDefault();
|
12464
|
+
|
12465
|
+
infopark.inplace_menus.close_all_menus();
|
12466
|
+
|
12467
|
+
if($(dom_item).data('redactor') === undefined) {
|
12468
|
+
$(dom_item).html($(dom_item).attr('data-ip-field-original-content'));
|
12469
|
+
$(dom_item).redactor(redactor_options);
|
12470
|
+
}
|
12471
|
+
});
|
12472
|
+
}
|
11667
12473
|
}
|
11668
|
-
}
|
11669
|
-
}
|
12474
|
+
});
|
12475
|
+
}
|
11670
12476
|
};
|
11671
12477
|
|
11672
12478
|
$.extend(infopark, {
|
@@ -11817,7 +12623,7 @@ var infopark = {
|
|
11817
12623
|
}
|
11818
12624
|
if(template === undefined) {
|
11819
12625
|
if(infopark.template.load_templates_from_server) {
|
11820
|
-
var url = "/app/assets/javascripts/templates/" + template_path + ".hbs";
|
12626
|
+
var url = "/app/assets/javascripts/templates/" + template_path + ".hbs?" + Math.random();
|
11821
12627
|
var source = jQuery.ajax(url, { async: false }).responseText;
|
11822
12628
|
template = Handlebars.compile(source);
|
11823
12629
|
} else {
|
@@ -11888,7 +12694,9 @@ var infopark = {
|
|
11888
12694
|
if (view) {
|
11889
12695
|
infopark.transition(view, function() {
|
11890
12696
|
view.removeClass('show');
|
11891
|
-
}).then(function() {
|
12697
|
+
}).then(function(e) {
|
12698
|
+
// Remove the view only if event is triggered by a "fade-out" transition.
|
12699
|
+
if (e && $(e.target).hasClass('show')) { return; }
|
11892
12700
|
view.remove();
|
11893
12701
|
view = null;
|
11894
12702
|
});
|
@@ -11917,90 +12725,177 @@ var infopark = {
|
|
11917
12725
|
|
11918
12726
|
$.extend(infopark.confirmation_dialog, {
|
11919
12727
|
open: function(options) {
|
12728
|
+
if(!options.icon) {
|
12729
|
+
options.icon = '';
|
12730
|
+
}
|
12731
|
+
if(!options.cancel_button_text) {
|
12732
|
+
options.cancel_button_text = infopark.i18n.translate('cancel');
|
12733
|
+
}
|
12734
|
+
if(!options.confirm_button_color) {
|
12735
|
+
options.confirm_button_color = 'ip_blue';
|
12736
|
+
}
|
12737
|
+
if(!options.confirm_button_text) {
|
12738
|
+
options.confirm_button_text = infopark.i18n.translate('confirm');
|
12739
|
+
}
|
11920
12740
|
var view = $(infopark.template.render('confirmation_dialog', options));
|
11921
12741
|
|
11922
12742
|
$('#ip-editing').append(view);
|
11923
12743
|
|
11924
12744
|
var deferred = $.Deferred();
|
11925
12745
|
|
11926
|
-
|
12746
|
+
var click_action = function(e) {
|
12747
|
+
e.preventDefault();
|
11927
12748
|
close(view);
|
12749
|
+
};
|
12750
|
+
|
12751
|
+
var confirm_action = function(e) {
|
12752
|
+
click_action(e);
|
11928
12753
|
deferred.resolve();
|
11929
|
-
}
|
12754
|
+
};
|
11930
12755
|
|
11931
|
-
|
11932
|
-
|
12756
|
+
var cancel_action = function(e) {
|
12757
|
+
click_action(e);
|
11933
12758
|
deferred.reject();
|
11934
|
-
}
|
12759
|
+
};
|
12760
|
+
|
12761
|
+
view.find('.confirm').on('click', confirm_action);
|
12762
|
+
view.find('.cancel').on('click', cancel_action);
|
11935
12763
|
|
11936
12764
|
infopark.transition(view, function() {
|
11937
12765
|
view.addClass('show');
|
11938
12766
|
});
|
11939
12767
|
|
11940
|
-
return infopark.
|
12768
|
+
return infopark.with_dialog_behaviour(deferred, {
|
12769
|
+
enter: confirm_action,
|
12770
|
+
escape: cancel_action
|
12771
|
+
});
|
11941
12772
|
}
|
11942
12773
|
});
|
11943
12774
|
}());
|
11944
12775
|
(function() {
|
11945
12776
|
$.extend(infopark, {
|
11946
|
-
|
11947
|
-
return infopark.
|
12777
|
+
prompt_dialog: function(options) {
|
12778
|
+
return infopark.prompt_dialog.open(options);
|
11948
12779
|
}
|
11949
12780
|
});
|
11950
12781
|
|
11951
|
-
var
|
11952
|
-
infopark.
|
11953
|
-
|
11954
|
-
|
12782
|
+
var close = function(view) {
|
12783
|
+
infopark.transition(view, function() {
|
12784
|
+
view.removeClass('show');
|
12785
|
+
}).then(function() {
|
12786
|
+
view.remove();
|
12787
|
+
view = null;
|
12788
|
+
});
|
11955
12789
|
};
|
11956
12790
|
|
11957
|
-
|
11958
|
-
|
11959
|
-
|
11960
|
-
|
12791
|
+
$.extend(infopark.prompt_dialog, {
|
12792
|
+
open: function(options) {
|
12793
|
+
if (!options.icon) {
|
12794
|
+
options.icon = '';
|
12795
|
+
}
|
12796
|
+
if(!options.cancel_button_text) {
|
12797
|
+
options.cancel_button_text = infopark.i18n.translate('cancel');
|
12798
|
+
}
|
12799
|
+
if(!options.accept_button_text) {
|
12800
|
+
options.accept_button_text = infopark.i18n.translate('accept');
|
12801
|
+
}
|
12802
|
+
|
12803
|
+
var view = $(infopark.template.render('prompt_dialog', options));
|
12804
|
+
|
12805
|
+
$('#ip-editing').append(view);
|
12806
|
+
|
12807
|
+
var deferred = $.Deferred();
|
12808
|
+
|
12809
|
+
var click_action = function(e) {
|
12810
|
+
e.preventDefault();
|
12811
|
+
close(view);
|
12812
|
+
};
|
12813
|
+
|
12814
|
+
var accept_action = function(e) {
|
12815
|
+
e.preventDefault();
|
12816
|
+
var val = view.find('input').val();
|
12817
|
+
if (val) {
|
12818
|
+
click_action(e);
|
12819
|
+
deferred.resolve(val);
|
12820
|
+
}
|
12821
|
+
};
|
12822
|
+
|
12823
|
+
var cancel_action = function(e) {
|
12824
|
+
click_action(e);
|
12825
|
+
deferred.reject();
|
12826
|
+
};
|
12827
|
+
|
12828
|
+
view.find('.accept').on('click', accept_action);
|
12829
|
+
view.find('.cancel').on('click', cancel_action);
|
12830
|
+
|
12831
|
+
infopark.transition(view, function() {
|
12832
|
+
view.find('input').focus();
|
12833
|
+
view.addClass('show');
|
12834
|
+
});
|
12835
|
+
|
12836
|
+
|
12837
|
+
return infopark.with_dialog_behaviour(deferred, {
|
12838
|
+
enter: accept_action,
|
12839
|
+
escape: cancel_action
|
12840
|
+
});
|
12841
|
+
}
|
12842
|
+
});
|
12843
|
+
}());
|
12844
|
+
(function() {
|
12845
|
+
$.extend(infopark, {
|
12846
|
+
choose_obj_class_dialog: function(obj_class_selection, locale_path) {
|
12847
|
+
return infopark.choose_obj_class_dialog.open(obj_class_selection, locale_path);
|
12848
|
+
}
|
11961
12849
|
});
|
11962
12850
|
|
11963
|
-
|
11964
|
-
|
12851
|
+
$.extend(infopark.choose_obj_class_dialog, {
|
12852
|
+
open: function(obj_class_selection, locale_path) {
|
12853
|
+
var deferred = $.Deferred();
|
11965
12854
|
|
11966
|
-
|
11967
|
-
|
11968
|
-
|
12855
|
+
var obj_classes = _.map(obj_class_selection, function(markup, name) {
|
12856
|
+
return {name: name, markup: markup};
|
12857
|
+
});
|
12858
|
+
|
12859
|
+
var view = $(infopark.template.render('choose_obj_class_dialog', {
|
12860
|
+
obj_classes: obj_classes,
|
12861
|
+
title: infopark.i18n.translate('choose_obj_class_dialog.' + locale_path + '.title'),
|
12862
|
+
description: infopark.i18n.translate('choose_obj_class_dialog.' + locale_path + '.description')
|
12863
|
+
}));
|
11969
12864
|
|
11970
|
-
|
12865
|
+
$('#ip-editing').append(view);
|
11971
12866
|
|
11972
|
-
|
12867
|
+
var accept_action = function(e) {
|
12868
|
+
e.preventDefault();
|
12869
|
+
close_dialog(view);
|
12870
|
+
deferred.resolve($(this).attr('data-ip-obj-class-name'));
|
12871
|
+
};
|
11973
12872
|
|
11974
|
-
|
11975
|
-
|
11976
|
-
|
11977
|
-
|
11978
|
-
|
12873
|
+
var cancel_action = function(e) {
|
12874
|
+
e.preventDefault();
|
12875
|
+
close_dialog(view);
|
12876
|
+
deferred.reject();
|
12877
|
+
};
|
11979
12878
|
|
11980
|
-
|
11981
|
-
|
11982
|
-
attr('data-ip-widget-class-name');
|
11983
|
-
if (widget_class_name) {
|
11984
|
-
close(view);
|
11985
|
-
deferred.resolve(widget_class_name);
|
11986
|
-
}
|
11987
|
-
});
|
12879
|
+
view.find('.ip-obj_class_thumbnail').on('click', accept_action);
|
12880
|
+
view.find('.cancel').on('click', cancel_action);
|
11988
12881
|
|
11989
|
-
|
11990
|
-
|
11991
|
-
|
11992
|
-
});
|
12882
|
+
infopark.transition(view, function() {
|
12883
|
+
view.addClass('show');
|
12884
|
+
});
|
11993
12885
|
|
11994
|
-
|
11995
|
-
view.addClass('show');
|
11996
|
-
});
|
12886
|
+
adjust_dialog(view);
|
11997
12887
|
|
11998
|
-
|
12888
|
+
return infopark.with_dialog_behaviour(deferred, {escape: cancel_action});
|
12889
|
+
}
|
12890
|
+
});
|
11999
12891
|
|
12000
|
-
|
12892
|
+
var adjust_dialog = function(view) {
|
12893
|
+
infopark.center(view);
|
12894
|
+
infopark.invalidate_auto_height_for(view);
|
12895
|
+
infopark.update_auto_height_for(view);
|
12001
12896
|
};
|
12002
12897
|
|
12003
|
-
var
|
12898
|
+
var close_dialog = function(view) {
|
12004
12899
|
infopark.transition(view, function() {
|
12005
12900
|
view.removeClass('show');
|
12006
12901
|
}).then(function() {
|
@@ -12009,18 +12904,16 @@ var infopark = {
|
|
12009
12904
|
});
|
12010
12905
|
};
|
12011
12906
|
|
12012
|
-
|
12013
|
-
|
12014
|
-
|
12015
|
-
|
12016
|
-
return render(data);
|
12017
|
-
}));
|
12018
|
-
}
|
12907
|
+
$(window).on('resize', function() {
|
12908
|
+
_.each($('.ip-choose_obj_class_dialog'), function(elem) {
|
12909
|
+
adjust_dialog($(elem));
|
12910
|
+
});
|
12019
12911
|
});
|
12020
12912
|
}());
|
12021
12913
|
(function() {
|
12022
12914
|
var menu_define_callbacks = [];
|
12023
12915
|
var dom_elements_with_menu = [];
|
12916
|
+
var fade_time = 500;
|
12024
12917
|
|
12025
12918
|
$.extend(infopark, {
|
12026
12919
|
inplace_menus: {
|
@@ -12028,13 +12921,10 @@ var infopark = {
|
|
12028
12921
|
menu_define_callbacks.push(menu_define_callback);
|
12029
12922
|
},
|
12030
12923
|
refresh_positions: function() {
|
12031
|
-
_.each($('.
|
12032
|
-
var
|
12033
|
-
var
|
12034
|
-
|
12035
|
-
var widget_position = marker.parent().offset();
|
12036
|
-
marker.offset(widget_position);
|
12037
|
-
menu.offset(widget_position);
|
12924
|
+
_.each($('.ip_editing_marker_menu'), function(menu_dom) {
|
12925
|
+
var menu = $(menu_dom);
|
12926
|
+
var marker = $('#' + menu.data('infopark-editing-menu-icon-id'));
|
12927
|
+
menu.offset(marker.offset());
|
12038
12928
|
});
|
12039
12929
|
},
|
12040
12930
|
reset_menu_define_callbacks: function() {
|
@@ -12053,7 +12943,6 @@ var infopark = {
|
|
12053
12943
|
remove_markers_and_menus();
|
12054
12944
|
});
|
12055
12945
|
},
|
12056
|
-
|
12057
12946
|
close_all_menus: function() {
|
12058
12947
|
remove_menus();
|
12059
12948
|
}
|
@@ -12080,15 +12969,18 @@ var infopark = {
|
|
12080
12969
|
_.each($(dom_elements_with_menu), function(dom_element, menu_index) {
|
12081
12970
|
if(dom_element.children('.ip_editing_marker').length === 0) {
|
12082
12971
|
var menu_id = 'ip_editing_marker_menu_' + menu_index;
|
12972
|
+
var menu_icon_id = 'ip_editing_marker_menu_icon_' + menu_index;
|
12973
|
+
|
12083
12974
|
var dom_menu = dom_element.data('infopark-editing-menu');
|
12084
12975
|
|
12085
|
-
var menu_icon = $(infopark.template.render('inplace_menu_icon', {
|
12976
|
+
var menu_icon = $(infopark.template.render('inplace_menu_icon', {
|
12977
|
+
menu_icon_id: menu_icon_id
|
12978
|
+
}));
|
12086
12979
|
menu_icon.data('infopark-editing-menu-id', menu_id);
|
12087
12980
|
menu_icon.on('click.ip-menu-open', function(e) {
|
12088
12981
|
e.preventDefault();
|
12089
12982
|
|
12090
12983
|
var menu = $('#' + menu_id);
|
12091
|
-
var fade_time = 500;
|
12092
12984
|
|
12093
12985
|
var remove_menu = function() {
|
12094
12986
|
menu.fadeOut(fade_time, function() {
|
@@ -12117,15 +13009,18 @@ var infopark = {
|
|
12117
13009
|
});
|
12118
13010
|
});
|
12119
13011
|
|
12120
|
-
menu.
|
12121
|
-
menu.fadeIn(fade_time);
|
13012
|
+
menu.data('infopark-editing-menu-icon-id', menu_icon_id);
|
12122
13013
|
|
12123
13014
|
$('body').append(menu);
|
13015
|
+
|
13016
|
+
// Bugfix IE: offset can not be set before append.
|
13017
|
+
menu.offset(menu_icon.offset());
|
13018
|
+
menu.find('.ip_menu_box').fadeIn(fade_time);
|
12124
13019
|
} else {
|
12125
13020
|
remove_menu();
|
12126
13021
|
}
|
12127
13022
|
});
|
12128
|
-
dom_element.
|
13023
|
+
dom_element.prepend(menu_icon);
|
12129
13024
|
}
|
12130
13025
|
});
|
12131
13026
|
};
|
@@ -12136,7 +13031,9 @@ var infopark = {
|
|
12136
13031
|
};
|
12137
13032
|
|
12138
13033
|
var remove_menus = function() {
|
12139
|
-
$('.ip_editing_marker_menu').
|
13034
|
+
$('.ip_editing_marker_menu').fadeOut(fade_time, function() {
|
13035
|
+
$('.ip_editing_marker_menu').remove();
|
13036
|
+
});
|
12140
13037
|
_.each($(dom_elements_with_menu), function(dom_element) {
|
12141
13038
|
dom_element.removeData('infopark-editing-menu');
|
12142
13039
|
});
|
@@ -12151,51 +13048,84 @@ var infopark = {
|
|
12151
13048
|
};
|
12152
13049
|
}());
|
12153
13050
|
|
12154
|
-
$(window).resize
|
13051
|
+
$(window).on('resize', function () { infopark.inplace_menus.refresh_positions(); });
|
13052
|
+
$(window).on('load', function () { infopark.inplace_menus.refresh_positions(); });
|
12155
13053
|
(function() {
|
12156
13054
|
$.extend(infopark, {
|
12157
13055
|
commands: {
|
12158
13056
|
|
13057
|
+
new_child_page: function(child_list_element) {
|
13058
|
+
return child_list_element.fetch_page_class_selection().then(function(selection) {
|
13059
|
+
return infopark.choose_obj_class_dialog(selection, 'add_child_page').then(
|
13060
|
+
function(obj_class) {
|
13061
|
+
return infopark.with_saving_overlay(
|
13062
|
+
child_list_element.create_child(obj_class).then(function(new_obj) {
|
13063
|
+
return infopark.redirect_to(new_obj.id());
|
13064
|
+
})
|
13065
|
+
);
|
13066
|
+
}
|
13067
|
+
);
|
13068
|
+
});
|
13069
|
+
},
|
13070
|
+
|
13071
|
+
delete_obj: function(obj) {
|
13072
|
+
return infopark.confirmation_dialog({
|
13073
|
+
title: infopark.i18n.translate('commands.delete_obj.confirm_title'),
|
13074
|
+
description: infopark.i18n.translate('commands.delete_obj.confirm_description')
|
13075
|
+
}).then(function() {
|
13076
|
+
return infopark.with_saving_overlay(obj.destroy().then(function() {
|
13077
|
+
return infopark.redirect_to('/');
|
13078
|
+
}));
|
13079
|
+
});
|
13080
|
+
},
|
13081
|
+
|
12159
13082
|
add_widget: function(widget_field_element, widget_element) {
|
12160
|
-
return function() {
|
12161
|
-
return infopark.
|
12162
|
-
|
12163
|
-
|
12164
|
-
|
12165
|
-
|
12166
|
-
|
12167
|
-
|
12168
|
-
|
12169
|
-
|
12170
|
-
|
12171
|
-
|
13083
|
+
return widget_field_element.fetch_widget_class_selection().then(function(selection) {
|
13084
|
+
return infopark.choose_obj_class_dialog(selection, 'add_widget').then(function(obj_class) {
|
13085
|
+
var new_dom_element;
|
13086
|
+
infopark.with_saving_overlay(
|
13087
|
+
widget_field_element.create_widget(obj_class).then(function(data) {
|
13088
|
+
new_dom_element = $(data.markup);
|
13089
|
+
if (widget_element) {
|
13090
|
+
widget_element.dom_element().after(new_dom_element);
|
13091
|
+
} else {
|
13092
|
+
widget_field_element.dom_element().append(new_dom_element);
|
13093
|
+
}
|
13094
|
+
infopark.editing.refresh();
|
13095
|
+
return widget_field_element.save();
|
13096
|
+
})
|
13097
|
+
).then(function() {
|
13098
|
+
infopark.ensure_fully_visible_within(new_dom_element, $('body'), $(window).height());
|
13099
|
+
});
|
12172
13100
|
});
|
12173
|
-
};
|
13101
|
+
});
|
12174
13102
|
},
|
12175
13103
|
|
12176
13104
|
delete_widget: function(widget_field_element, widget_element) {
|
12177
|
-
return
|
12178
|
-
|
12179
|
-
|
12180
|
-
|
12181
|
-
|
12182
|
-
|
12183
|
-
|
12184
|
-
|
12185
|
-
|
12186
|
-
|
12187
|
-
|
12188
|
-
|
12189
|
-
|
12190
|
-
}
|
12191
|
-
|
13105
|
+
return infopark.confirmation_dialog({
|
13106
|
+
icon: '',
|
13107
|
+
confirm_button_color: 'ip_red',
|
13108
|
+
confirm_button_text: infopark.i18n.translate('menu_bar.delete'),
|
13109
|
+
title: infopark.i18n.translate('commands.delete_widget.confirm_title'),
|
13110
|
+
description: infopark.i18n.translate('commands.delete_widget.confirm_description')
|
13111
|
+
}).then(function() {
|
13112
|
+
var delete_widget = function() {
|
13113
|
+
widget_element.dom_element().remove();
|
13114
|
+
infopark.editing.refresh();
|
13115
|
+
return widget_field_element.save().then(function() {
|
13116
|
+
return widget_element.obj().destroy();
|
13117
|
+
});
|
13118
|
+
};
|
13119
|
+
infopark.with_saving_overlay(delete_widget());
|
13120
|
+
});
|
12192
13121
|
},
|
12193
13122
|
|
12194
13123
|
open_in_admin_gui: function(obj_id) {
|
12195
|
-
|
12196
|
-
|
12197
|
-
|
12198
|
-
|
13124
|
+
window.open(
|
13125
|
+
infopark.admin_gui_base_url + '#' + obj_id + ';dc;' + infopark.editing.workspace().id(),
|
13126
|
+
'admin-gui', // New window has a name, so it can be identified in integration tests.
|
13127
|
+
'status=1,toolbar=1,location=1,menubar=1,scrollbars=1,resizable=1'
|
13128
|
+
);
|
12199
13129
|
}
|
12200
13130
|
|
12201
13131
|
}
|
@@ -12206,39 +13136,47 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12206
13136
|
widget_menus: {
|
12207
13137
|
init: function() {
|
12208
13138
|
infopark.inplace_menus.define(function(menu) {
|
12209
|
-
|
12210
|
-
|
12211
|
-
|
12212
|
-
|
12213
|
-
|
12214
|
-
|
12215
|
-
|
12216
|
-
|
12217
|
-
|
12218
|
-
|
12219
|
-
|
12220
|
-
_.each(widget_elements, function(widget_element) {
|
12221
|
-
var widget_dom_element = widget_element.dom_element();
|
12222
|
-
|
12223
|
-
menu.add_item(widget_dom_element, {
|
12224
|
-
title: infopark.i18n.translate('widget_menus.add_widget'),
|
12225
|
-
icon: '\uF022',
|
12226
|
-
execute: infopark.commands.add_widget(widget_field_element, widget_element)
|
12227
|
-
});
|
12228
|
-
|
12229
|
-
menu.add_item(widget_dom_element, {
|
12230
|
-
title: infopark.i18n.translate('widget_menus.delete_widget'),
|
12231
|
-
icon: '\uF03E',
|
12232
|
-
execute: infopark.commands.delete_widget(widget_field_element, widget_element)
|
12233
|
-
});
|
13139
|
+
if (infopark.editing.workspace().is_editable()) {
|
13140
|
+
_.each(infopark.widget_field_element.all(), function(widget_field_element) {
|
13141
|
+
var widget_elements = widget_field_element.widgets();
|
13142
|
+
|
13143
|
+
if (widget_elements.length === 0) {
|
13144
|
+
menu.add_item(widget_field_element.dom_element(), {
|
13145
|
+
title: infopark.i18n.translate('widget_menus.add_widget'),
|
13146
|
+
icon: '\uF022',
|
13147
|
+
execute: function() { infopark.commands.add_widget(widget_field_element); }
|
13148
|
+
});
|
13149
|
+
}
|
12234
13150
|
|
12235
|
-
|
12236
|
-
|
12237
|
-
|
12238
|
-
|
13151
|
+
_.each(widget_elements, function(widget_element) {
|
13152
|
+
var widget_dom_element = widget_element.dom_element();
|
13153
|
+
|
13154
|
+
menu.add_item(widget_dom_element, {
|
13155
|
+
title: infopark.i18n.translate('widget_menus.add_widget'),
|
13156
|
+
icon: '\uF022',
|
13157
|
+
execute: function() {
|
13158
|
+
infopark.commands.add_widget(widget_field_element, widget_element);
|
13159
|
+
}
|
13160
|
+
});
|
13161
|
+
|
13162
|
+
menu.add_item(widget_dom_element, {
|
13163
|
+
title: infopark.i18n.translate('widget_menus.delete_widget'),
|
13164
|
+
icon: '\uF018',
|
13165
|
+
execute: function() {
|
13166
|
+
infopark.commands.delete_widget(widget_field_element, widget_element);
|
13167
|
+
}
|
13168
|
+
});
|
13169
|
+
|
13170
|
+
menu.add_item(widget_dom_element, {
|
13171
|
+
title: infopark.i18n.translate('widget_menus.open_in_admin_gui'),
|
13172
|
+
icon: '\uF000',
|
13173
|
+
execute: function() {
|
13174
|
+
infopark.commands.open_in_admin_gui(widget_element.obj().id());
|
13175
|
+
}
|
13176
|
+
});
|
12239
13177
|
});
|
12240
13178
|
});
|
12241
|
-
}
|
13179
|
+
}
|
12242
13180
|
});
|
12243
13181
|
}
|
12244
13182
|
}
|
@@ -12256,8 +13194,6 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12256
13194
|
// Called when actual dragging started.
|
12257
13195
|
activate: function(event, ui) {
|
12258
13196
|
var marker = ui.item.find('.ip_editing_marker');
|
12259
|
-
marker.css('top', 0);
|
12260
|
-
marker.css('left', 0);
|
12261
13197
|
$('.ip_editing_marker').not(marker).hide();
|
12262
13198
|
infopark.inplace_menus.close_all_menus();
|
12263
13199
|
},
|
@@ -12277,11 +13213,11 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12277
13213
|
}
|
12278
13214
|
});
|
12279
13215
|
|
12280
|
-
var dom_elements_with_sorting = [];
|
12281
|
-
|
12282
13216
|
var create_or_refresh_widget_sorting = function() {
|
12283
|
-
|
12284
|
-
|
13217
|
+
if (infopark.editing.workspace().is_editable()) {
|
13218
|
+
remove_widget_sorting();
|
13219
|
+
create_widget_sorting();
|
13220
|
+
}
|
12285
13221
|
};
|
12286
13222
|
|
12287
13223
|
var create_widget_sorting = function() {
|
@@ -12296,17 +13232,165 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12296
13232
|
deactivate: infopark.widget_sorting.deactivate,
|
12297
13233
|
update: infopark.widget_sorting.update
|
12298
13234
|
});
|
12299
|
-
|
12300
|
-
dom_elements_with_sorting.push(dom_element);
|
12301
13235
|
});
|
12302
13236
|
};
|
12303
13237
|
|
12304
13238
|
var remove_widget_sorting = function() {
|
12305
|
-
_.each(
|
12306
|
-
dom_element.
|
13239
|
+
_.each(infopark.widget_field_element.all(), function(widget_field_element) {
|
13240
|
+
var dom_element = widget_field_element.dom_element();
|
13241
|
+
if (dom_element.data('ui-sortable')) {
|
13242
|
+
dom_element.sortable('destroy');
|
13243
|
+
}
|
13244
|
+
});
|
13245
|
+
};
|
13246
|
+
}());
|
13247
|
+
(function() {
|
13248
|
+
$.extend(infopark, {
|
13249
|
+
child_list_menus: {
|
13250
|
+
init: function() {
|
13251
|
+
infopark.inplace_menus.define(function(menu) {
|
13252
|
+
if (infopark.editing.workspace().is_editable()) {
|
13253
|
+
_.each(infopark.child_list_element.all(), function(child_list_element) {
|
13254
|
+
menu.add_item(child_list_element.dom_element(), {
|
13255
|
+
title: infopark.i18n.translate('child_list_menus.add_subpage'),
|
13256
|
+
icon: '\uF022',
|
13257
|
+
execute: function() { infopark.commands.new_child_page(child_list_element); }
|
13258
|
+
});
|
13259
|
+
});
|
13260
|
+
}
|
13261
|
+
});
|
13262
|
+
}
|
13263
|
+
}
|
13264
|
+
});
|
13265
|
+
}());
|
13266
|
+
(function() {
|
13267
|
+
$.extend(infopark, {
|
13268
|
+
hotkeys: {
|
13269
|
+
add_actions_while: function(promise, key_map) {
|
13270
|
+
var key_actions = {
|
13271
|
+
13: key_map.enter, // enter key
|
13272
|
+
27: key_map.escape // escape key
|
13273
|
+
};
|
13274
|
+
|
13275
|
+
$(document).on('keyup.ip_hotkeys_add_actions_while', function(e) {
|
13276
|
+
if (key_actions[e.keyCode]) {
|
13277
|
+
e.preventDefault();
|
13278
|
+
key_actions[e.keyCode](e);
|
13279
|
+
}
|
13280
|
+
});
|
13281
|
+
|
13282
|
+
return promise.always(function() {
|
13283
|
+
$(document).off('keyup.ip_hotkeys_add_actions_while');
|
13284
|
+
});
|
13285
|
+
}
|
13286
|
+
}
|
13287
|
+
});
|
13288
|
+
}());
|
13289
|
+
(function() {
|
13290
|
+
$.extend(infopark, {
|
13291
|
+
with_dialog_behaviour: function(promise, key_map) {
|
13292
|
+
return infopark.with_overlay(
|
13293
|
+
infopark.hotkeys.add_actions_while(promise, key_map)
|
13294
|
+
);
|
13295
|
+
}
|
13296
|
+
});
|
13297
|
+
}());
|
13298
|
+
(function() {
|
13299
|
+
|
13300
|
+
$.extend(infopark, {
|
13301
|
+
image_upload: {
|
13302
|
+
init: function() {
|
13303
|
+
infopark.editing.on('activate', create_or_refresh_image_upload);
|
13304
|
+
infopark.editing.on('refresh', create_or_refresh_image_upload);
|
13305
|
+
infopark.editing.on('deactivate', remove_image_upload);
|
13306
|
+
|
13307
|
+
// Disable DnD for all elements by default to prevent the user
|
13308
|
+
// from accidentally opening an image in browser.
|
13309
|
+
$('body').on('dragover', function(e) { return false; });
|
13310
|
+
$('body').on('drop', function(e) { return false; });
|
13311
|
+
},
|
13312
|
+
|
13313
|
+
upload_image: function(event, dom_element) {
|
13314
|
+
var data_transfer = event.originalEvent.dataTransfer;
|
13315
|
+
if (!data_transfer) { return; }
|
13316
|
+
|
13317
|
+
var files = data_transfer.files;
|
13318
|
+
if (files.length === 0) {
|
13319
|
+
return;
|
13320
|
+
} else if (files.length > 1) {
|
13321
|
+
infopark.alert(infopark.i18n.translate('image_upload.too_many_files'));
|
13322
|
+
dom_element.removeClass('ip_editing_dragover');
|
13323
|
+
return;
|
13324
|
+
}
|
13325
|
+
|
13326
|
+
var file = files[0];
|
13327
|
+
var obj_id = dom_element.attr('data-ip-resource-source-obj-id');
|
13328
|
+
var field_name = dom_element.attr('data-ip-resource-source-field-name');
|
13329
|
+
|
13330
|
+
var create_resource_obj = function(blob_id) {
|
13331
|
+
var obj_name = file.name.replace(/[^a-z0-9_.$\-]/ig, '-');
|
13332
|
+
var path = '_resources/' + infopark.random_hex() + '/' + obj_name;
|
13333
|
+
return infopark.obj.create({ blob: blob_id, _path: path, _obj_class: 'Image' });
|
13334
|
+
};
|
13335
|
+
|
13336
|
+
var link_resource_obj = function(resource_id) {
|
13337
|
+
var attributes = {};
|
13338
|
+
attributes[field_name] = [{obj_id: resource_id}];
|
13339
|
+
return infopark.obj.create_instance(obj_id).save(attributes);
|
13340
|
+
};
|
13341
|
+
|
13342
|
+
infopark.with_saving_overlay(
|
13343
|
+
infopark.blob.create(file).then(function(blob_id) {
|
13344
|
+
return create_resource_obj(blob_id).then(function(resource_data) {
|
13345
|
+
return link_resource_obj(resource_data.id()).then(function() {
|
13346
|
+
return infopark.reload();
|
13347
|
+
});
|
13348
|
+
});
|
13349
|
+
})
|
13350
|
+
);
|
13351
|
+
}
|
13352
|
+
|
13353
|
+
}
|
13354
|
+
});
|
13355
|
+
|
13356
|
+
var create_or_refresh_image_upload = function() {
|
13357
|
+
remove_image_upload();
|
13358
|
+
create_image_upload();
|
13359
|
+
};
|
13360
|
+
|
13361
|
+
var create_image_upload = function() {
|
13362
|
+
each_dom_element(function(dom_element) {
|
13363
|
+
dom_element.on('dragover', function() {
|
13364
|
+
dom_element.addClass('ip_editing_dragover');
|
13365
|
+
return false;
|
13366
|
+
});
|
13367
|
+
|
13368
|
+
dom_element.on('dragleave', function() {
|
13369
|
+
dom_element.removeClass('ip_editing_dragover');
|
13370
|
+
return false;
|
13371
|
+
});
|
13372
|
+
|
13373
|
+
dom_element.on('drop', function(event) {
|
13374
|
+
infopark.image_upload.upload_image(event, dom_element);
|
13375
|
+
return false;
|
13376
|
+
});
|
13377
|
+
});
|
13378
|
+
};
|
13379
|
+
|
13380
|
+
var remove_image_upload = function() {
|
13381
|
+
each_dom_element(function(dom_element) {
|
13382
|
+
dom_element.unbind('dragover');
|
13383
|
+
dom_element.unbind('dragleave');
|
13384
|
+
dom_element.unbind('drop');
|
12307
13385
|
});
|
12308
|
-
dom_elements_with_sorting = [];
|
12309
13386
|
};
|
13387
|
+
|
13388
|
+
var each_dom_element = function(callback) {
|
13389
|
+
_.each($('img[data-ip-resource-source-field-name]'), function(dom_element) {
|
13390
|
+
callback($(dom_element));
|
13391
|
+
});
|
13392
|
+
};
|
13393
|
+
|
12310
13394
|
}());
|
12311
13395
|
|
12312
13396
|
|
@@ -12332,6 +13416,15 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12332
13416
|
|
12333
13417
|
|
12334
13418
|
|
13419
|
+
|
13420
|
+
|
13421
|
+
|
13422
|
+
|
13423
|
+
|
13424
|
+
|
13425
|
+
|
13426
|
+
|
13427
|
+
|
12335
13428
|
|
12336
13429
|
|
12337
13430
|
|
@@ -12344,5 +13437,11 @@ $(window).resize(function () { infopark.inplace_menus.refresh_positions(); });
|
|
12344
13437
|
|
12345
13438
|
infopark.redactor.init();
|
12346
13439
|
infopark.inplace_menus.init();
|
13440
|
+
infopark.deactivate_menu_bar_item.init();
|
13441
|
+
infopark.delete_current_page_item.init();
|
13442
|
+
infopark.workspace_select.init();
|
13443
|
+
infopark.menu_bar.init();
|
12347
13444
|
infopark.widget_menus.init();
|
12348
13445
|
infopark.widget_sorting.init();
|
13446
|
+
infopark.image_upload.init();
|
13447
|
+
infopark.child_list_menus.init();
|