scrivito_content_browser 0.66.0 → 0.70.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 900154d9497a25db6f6771171c1e662b447fcea2
4
- data.tar.gz: cf763af69103778eb8b810f4ab92f25298b9f8cd
3
+ metadata.gz: b02dfb7af0bad2c7486fd18f1b4034c2b4443d21
4
+ data.tar.gz: c1e75ebeedb96caf95348b1062b221a0c7726be0
5
5
  SHA512:
6
- metadata.gz: 8e88e7b55b40ac2bf593ac21647a399ebf80d3785c6a38840b24fc11dab3cbc67b73f41c950f177ca7ca235f5c994433330e9af6f10e4f8cca1566fd2ab0b58a
7
- data.tar.gz: 2f5d2ee0fbf56dd758a7f8a27514979ebd6c4c2731edeb5be7e7195d9e52630fdfcebb4c6f09909be2c283320589553819259b4f45b279abeef281ec62eb5793
6
+ metadata.gz: b3f25831e13318557b17aeda94537f03a7cf9b48eca7cc8ed5a3302cd83c9eeb715831d6199f27b2296f60655232b9186d312674727d5229ecb7878f51a4823c
7
+ data.tar.gz: f6ab7bbd67815896762157deea0b49425e0452c8197b56402c4b77412312e5e28ea0264a36478bfee053cbfd3a92c65c5eb1a94ed96c15df8d96bb7f6448206d
data/README.md CHANGED
@@ -33,23 +33,34 @@ Before developing make sure you have both `nodejs` and `npm` installed, then:
33
33
  sudo npm install -g grunt-cli # install the grunt command
34
34
  grunt build # build the JS files - if it fails, check for name clashes with the node package
35
35
 
36
- If you want to develop the `scrivito_content_browser`-gem locally (including it by path)
36
+ If you want to develop the `scrivito_content_browser`-gem locally (including it by path) you need to configure an `asset_host` in your rails application. Example `config/env/development.rb`:
37
37
 
38
- You need to write in your rails application. config/env/development.rb
38
+ config.action_controller.asset_host = Proc.new do |source|
39
+ if source =~ /scrivito_content_browser_pkg/
40
+ "http://localhost:8080/"
41
+ end
42
+ end
39
43
 
40
- config.action_controller.asset_host = Proc.new { |source|
41
- if source =~ /scrivito_content_browser_pkg/
42
- "http://localhost:8080/"
43
- end
44
+ and be sure that you have this options
44
45
 
45
- and be sure that you have this option is false
46
46
  config.assets.digest = false
47
+ config.assets.debug = true
47
48
 
48
- This part of code, and run the task npm start or grunt webpack-dev-server
49
+ After that start webpack dev server:
49
50
 
50
- For test running use:
51
- grunt webpack_run_test or simple grunt
52
- or use karma start or grunt karma:test task to run webpack dev server watcher
51
+ npm start
52
+ # or
53
+ grunt webpack-dev-server
54
+
55
+ ## Run tests
56
+
57
+ grunt webpack_run_test
58
+ # or
59
+ grunt
60
+ # or
61
+ karma start
62
+ # or
63
+ grunt karma:test # to run webpack dev server watcher
53
64
 
54
65
  ## Changelog
55
66
 
@@ -57,7 +68,7 @@ For test running use:
57
68
 
58
69
 
59
70
  ## License
60
- Copyright (c) 2009 - 2014 Infopark AG (http://www.infopark.com)
71
+ Copyright (c) 2009 - 2015 Infopark AG (http://www.infopark.com)
61
72
 
62
73
  This software can be used and modified under the LGPL-3.0. Please refer to
63
74
  http://www.gnu.org/licenses/lgpl-3.0.html for the license text.
@@ -88,8 +88,8 @@
88
88
  return props.promise;
89
89
  },
90
90
  _loadModal: function() {
91
- $('<div></div>').addClass('scrivito_overlay scrivito_show').appendTo($('body'));
92
- $('<div></div>').addClass('scrivito-content-browser show').appendTo($('body'));
91
+ $('<div></div>').addClass('scrivito_overlay scrivito_show').appendTo($('#scrivito_editing'));
92
+ $('<div></div>').addClass('scrivito-content-browser show').appendTo($('#scrivito_editing'));
93
93
  return this._center();
94
94
  },
95
95
  _buildFilter: function(options) {
@@ -834,7 +834,7 @@
834
834
 
835
835
  InspectorComponent = __webpack_require__(65);
836
836
 
837
- Footer = __webpack_require__(67);
837
+ Footer = __webpack_require__(68);
838
838
 
839
839
  App = React.createClass({
840
840
  displayName: 'App',
@@ -920,11 +920,18 @@
920
920
  objCollection: new ObjCollection(initialSelection, selectionMode)
921
921
  };
922
922
  },
923
+ _getBodyClassName: function() {
924
+ if (this.state.viewMode.isInspectorMaximized()) {
925
+ return "scrivito-content-browser-body scrivito-content-browser-inspector-max";
926
+ } else {
927
+ return "scrivito-content-browser-body";
928
+ }
929
+ },
923
930
  render: function() {
924
931
  return React.createElement("div", {
925
932
  "className": "scrivito-app-root"
926
933
  }, React.createElement("div", {
927
- "className": "scrivito-content-browser-body"
934
+ "className": this._getBodyClassName()
928
935
  }, React.createElement("div", {
929
936
  "className": "scrivito-content-browser-wrapper"
930
937
  }, React.createElement(TopBar, {
@@ -950,6 +957,7 @@
950
957
  }), (this.state.objCollection.isLoadingAdditionalObjs() ? React.createElement(MoreItemsSpinner, {
951
958
  "objCollection": this.state.objCollection
952
959
  }) : void 0)), React.createElement(InspectorComponent, {
960
+ "viewMode": this.state.viewMode,
953
961
  "objCollection": this.state.objCollection
954
962
  })), React.createElement(Footer, {
955
963
  "promise": this.props.promise,
@@ -983,6 +991,7 @@
983
991
  }
984
992
  this._mode = mode;
985
993
  this._standAlone = standAlone;
994
+ this._isInspectorMaximized = false;
986
995
  }
987
996
 
988
997
  ViewMode.prototype.setMode = function(newMode) {
@@ -990,10 +999,19 @@
990
999
  return this.changed();
991
1000
  };
992
1001
 
1002
+ ViewMode.prototype.toggleInspectorMaximized = function() {
1003
+ this._isInspectorMaximized = !this._isInspectorMaximized;
1004
+ return this.changed();
1005
+ };
1006
+
993
1007
  ViewMode.prototype.getMode = function() {
994
1008
  return this._mode;
995
1009
  };
996
1010
 
1011
+ ViewMode.prototype.isInspectorMaximized = function() {
1012
+ return this._isInspectorMaximized;
1013
+ };
1014
+
997
1015
  ViewMode.prototype.isList = function() {
998
1016
  return this._mode === "list";
999
1017
  };
@@ -1741,7 +1759,6 @@
1741
1759
  return _this.reload();
1742
1760
  };
1743
1761
  })(this));
1744
- this.deselectObjs();
1745
1762
  return this._activateLoading();
1746
1763
  }
1747
1764
  };
@@ -1749,6 +1766,12 @@
1749
1766
  ObjCollection.prototype._destroyById = function(objId) {
1750
1767
  return scrivito.delete_obj(objId).done((function(_this) {
1751
1768
  return function() {
1769
+ _this._objs = _this._objs.filter(function(obj) {
1770
+ return obj.id() !== objId;
1771
+ });
1772
+ _this._selectedObjsIds = _this._selectedObjsIds.filter(function(selectedObjId) {
1773
+ return selectedObjId !== objId;
1774
+ });
1752
1775
  return _this.trigger('destroy-obj', objId);
1753
1776
  };
1754
1777
  })(this));
@@ -1989,7 +2012,7 @@
1989
2012
  }
1990
2013
  },
1991
2014
  toggleSortMenu: function() {
1992
- return $('.scrivito_menu_box').fadeToggle();
2015
+ return $('.scrivito-content-browser-sort-menu .scrivito_menu_box').fadeToggle();
1993
2016
  },
1994
2017
  getSortIconClassName: function() {
1995
2018
  var sortIcon;
@@ -2004,7 +2027,7 @@
2004
2027
  render: function() {
2005
2028
  var sortItem;
2006
2029
  return React.createElement("span", {
2007
- "className": "scrivito_button scrivito_lightgrey scrivito_right",
2030
+ "className": "scrivito-content-browser-sort-menu scrivito_button scrivito_lightgrey scrivito_right",
2008
2031
  "onClick": this.toggleSortMenu
2009
2032
  }, React.createElement("i", {
2010
2033
  "className": this.getSortIconClassName()
@@ -2024,7 +2047,9 @@
2024
2047
  }));
2025
2048
  }
2026
2049
  return results;
2027
- }).call(this)));
2050
+ }).call(this), React.createElement("li", {
2051
+ "className": "scrivito_menu_box_overlay"
2052
+ })));
2028
2053
  }
2029
2054
  });
2030
2055
 
@@ -2104,13 +2129,13 @@
2104
2129
 
2105
2130
  /* WEBPACK VAR INJECTION */(function(React) {var AdditionalOptionFilter, Filter, FilterMixin, LastAddedFilter, QueryBuilder, SelectedFilter, TreeFilter;
2106
2131
 
2107
- FilterMixin = __webpack_require__(31);
2132
+ FilterMixin = __webpack_require__(30);
2108
2133
 
2109
- AdditionalOptionFilter = __webpack_require__(32);
2134
+ AdditionalOptionFilter = __webpack_require__(31);
2110
2135
 
2111
- TreeFilter = __webpack_require__(39);
2136
+ TreeFilter = __webpack_require__(38);
2112
2137
 
2113
- SelectedFilter = __webpack_require__(30);
2138
+ SelectedFilter = __webpack_require__(39);
2114
2139
 
2115
2140
  QueryBuilder = __webpack_require__(20);
2116
2141
 
@@ -2227,39 +2252,6 @@
2227
2252
 
2228
2253
  /***/ },
2229
2254
  /* 30 */
2230
- /***/ function(module, exports, __webpack_require__) {
2231
-
2232
- /* WEBPACK VAR INJECTION */(function(React) {var SelectedFilter;
2233
-
2234
- SelectedFilter = React.createClass({
2235
- displayName: 'SelectedFilter',
2236
- filterClass: function() {
2237
- return React.addons.classSet({
2238
- 'scrivito-content-browser-filter-item': true,
2239
- 'selected-filter': true,
2240
- 'active': this.props.active
2241
- });
2242
- },
2243
- render: function() {
2244
- return React.createElement("div", {
2245
- "className": this.filterClass(),
2246
- "onClick": this.props.activateSelectedFilter
2247
- }, React.createElement("i", {
2248
- "className": "scrivito-content-browser-icon scrivito-content-browser-icon-ok-box"
2249
- }), React.createElement("span", {
2250
- "className": "scrivito-content-browser-filter-label"
2251
- }, "Selected", React.createElement("span", {
2252
- "className": "scrivito-content-browser-counter selected-total"
2253
- }, this.props.selectedCount)));
2254
- }
2255
- });
2256
-
2257
- module.exports = SelectedFilter;
2258
-
2259
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2260
-
2261
- /***/ },
2262
- /* 31 */
2263
2255
  /***/ function(module, exports, __webpack_require__) {
2264
2256
 
2265
2257
  /* WEBPACK VAR INJECTION */(function(React) {var FilterMixin;
@@ -2282,18 +2274,18 @@
2282
2274
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2283
2275
 
2284
2276
  /***/ },
2285
- /* 32 */
2277
+ /* 31 */
2286
2278
  /***/ function(module, exports, __webpack_require__) {
2287
2279
 
2288
2280
  /* WEBPACK VAR INJECTION */(function(React) {var AdditionalOptionFilter, CheckBoxOptionFilter, DeselectAllRadioOptionFilter, ExpandableFilterNodeMixin, RadioOptionFilter;
2289
2281
 
2290
- ExpandableFilterNodeMixin = __webpack_require__(33);
2282
+ ExpandableFilterNodeMixin = __webpack_require__(32);
2291
2283
 
2292
- DeselectAllRadioOptionFilter = __webpack_require__(34);
2284
+ DeselectAllRadioOptionFilter = __webpack_require__(33);
2293
2285
 
2294
- RadioOptionFilter = __webpack_require__(36);
2286
+ RadioOptionFilter = __webpack_require__(35);
2295
2287
 
2296
- CheckBoxOptionFilter = __webpack_require__(38);
2288
+ CheckBoxOptionFilter = __webpack_require__(37);
2297
2289
 
2298
2290
  AdditionalOptionFilter = React.createClass({
2299
2291
  displayName: 'AdditionalOptionFilter',
@@ -2349,7 +2341,7 @@
2349
2341
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2350
2342
 
2351
2343
  /***/ },
2352
- /* 33 */
2344
+ /* 32 */
2353
2345
  /***/ function(module, exports, __webpack_require__) {
2354
2346
 
2355
2347
  /* WEBPACK VAR INJECTION */(function(React) {var ExpandableFilterNodeMixin;
@@ -2384,12 +2376,12 @@
2384
2376
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2385
2377
 
2386
2378
  /***/ },
2387
- /* 34 */
2379
+ /* 33 */
2388
2380
  /***/ function(module, exports, __webpack_require__) {
2389
2381
 
2390
2382
  /* WEBPACK VAR INJECTION */(function(React) {var DeselectAllRadioOptionFilter, OptionFilterLabelRenderMixin;
2391
2383
 
2392
- OptionFilterLabelRenderMixin = __webpack_require__(35);
2384
+ OptionFilterLabelRenderMixin = __webpack_require__(34);
2393
2385
 
2394
2386
  DeselectAllRadioOptionFilter = React.createClass({
2395
2387
  displayName: 'DeselectAllRadioOptionFilter',
@@ -2419,7 +2411,7 @@
2419
2411
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2420
2412
 
2421
2413
  /***/ },
2422
- /* 35 */
2414
+ /* 34 */
2423
2415
  /***/ function(module, exports, __webpack_require__) {
2424
2416
 
2425
2417
  /* WEBPACK VAR INJECTION */(function(React) {var OptionFilterLabelRenderMixin;
@@ -2437,12 +2429,12 @@
2437
2429
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2438
2430
 
2439
2431
  /***/ },
2440
- /* 36 */
2432
+ /* 35 */
2441
2433
  /***/ function(module, exports, __webpack_require__) {
2442
2434
 
2443
2435
  /* WEBPACK VAR INJECTION */(function(React) {var OptionFilterMixin, RadioOptionFilter;
2444
2436
 
2445
- OptionFilterMixin = __webpack_require__(37);
2437
+ OptionFilterMixin = __webpack_require__(36);
2446
2438
 
2447
2439
  RadioOptionFilter = React.createClass({
2448
2440
  displayName: 'RadioOptionFilter',
@@ -2467,12 +2459,12 @@
2467
2459
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2468
2460
 
2469
2461
  /***/ },
2470
- /* 37 */
2462
+ /* 36 */
2471
2463
  /***/ function(module, exports, __webpack_require__) {
2472
2464
 
2473
2465
  var OptionFilterLabelRenderMixin, OptionFilterMixin;
2474
2466
 
2475
- OptionFilterLabelRenderMixin = __webpack_require__(35);
2467
+ OptionFilterLabelRenderMixin = __webpack_require__(34);
2476
2468
 
2477
2469
  OptionFilterMixin = {
2478
2470
  mixins: [OptionFilterLabelRenderMixin],
@@ -2495,12 +2487,12 @@
2495
2487
 
2496
2488
 
2497
2489
  /***/ },
2498
- /* 38 */
2490
+ /* 37 */
2499
2491
  /***/ function(module, exports, __webpack_require__) {
2500
2492
 
2501
2493
  /* WEBPACK VAR INJECTION */(function(React) {var CheckBoxOptionFilter, OptionFilterMixin;
2502
2494
 
2503
- OptionFilterMixin = __webpack_require__(37);
2495
+ OptionFilterMixin = __webpack_require__(36);
2504
2496
 
2505
2497
  CheckBoxOptionFilter = React.createClass({
2506
2498
  displayName: 'CheckBoxOptionFilter',
@@ -2520,12 +2512,12 @@
2520
2512
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2521
2513
 
2522
2514
  /***/ },
2523
- /* 39 */
2515
+ /* 38 */
2524
2516
  /***/ function(module, exports, __webpack_require__) {
2525
2517
 
2526
2518
  /* WEBPACK VAR INJECTION */(function(React) {var ExpandableFilterNodeMixin, TreeFilter;
2527
2519
 
2528
- ExpandableFilterNodeMixin = __webpack_require__(33);
2520
+ ExpandableFilterNodeMixin = __webpack_require__(32);
2529
2521
 
2530
2522
  TreeFilter = React.createClass({
2531
2523
  displayName: 'TreeFilter',
@@ -2584,6 +2576,39 @@
2584
2576
 
2585
2577
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2586
2578
 
2579
+ /***/ },
2580
+ /* 39 */
2581
+ /***/ function(module, exports, __webpack_require__) {
2582
+
2583
+ /* WEBPACK VAR INJECTION */(function(React) {var SelectedFilter;
2584
+
2585
+ SelectedFilter = React.createClass({
2586
+ displayName: 'SelectedFilter',
2587
+ filterClass: function() {
2588
+ return React.addons.classSet({
2589
+ 'scrivito-content-browser-filter-item': true,
2590
+ 'selected-filter': true,
2591
+ 'active': this.props.active
2592
+ });
2593
+ },
2594
+ render: function() {
2595
+ return React.createElement("div", {
2596
+ "className": this.filterClass(),
2597
+ "onClick": this.props.activateSelectedFilter
2598
+ }, React.createElement("i", {
2599
+ "className": "scrivito-content-browser-icon scrivito-content-browser-icon-ok-box"
2600
+ }), React.createElement("span", {
2601
+ "className": "scrivito-content-browser-filter-label"
2602
+ }, "Selected", React.createElement("span", {
2603
+ "className": "scrivito-content-browser-counter selected-total"
2604
+ }, this.props.selectedCount)));
2605
+ }
2606
+ });
2607
+
2608
+ module.exports = SelectedFilter;
2609
+
2610
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
2611
+
2587
2612
  /***/ },
2588
2613
  /* 40 */
2589
2614
  /***/ function(module, exports, __webpack_require__) {
@@ -3820,10 +3845,12 @@
3820
3845
  /* 65 */
3821
3846
  /***/ function(module, exports, __webpack_require__) {
3822
3847
 
3823
- /* WEBPACK VAR INJECTION */(function(React) {var Inspector, ModalDialogsModule;
3848
+ /* WEBPACK VAR INJECTION */(function(React) {var Inspector, MaximizeInspectorToggle, ModalDialogsModule;
3824
3849
 
3825
3850
  ModalDialogsModule = __webpack_require__(66);
3826
3851
 
3852
+ MaximizeInspectorToggle = __webpack_require__(67);
3853
+
3827
3854
  Inspector = React.createClass({
3828
3855
  displayName: 'Inspector',
3829
3856
  getDetailsClassName: function() {
@@ -3851,7 +3878,9 @@
3851
3878
  _showInspectorHeader: function(title) {
3852
3879
  return React.createElement("h3", {
3853
3880
  "title": title
3854
- }, React.createElement("span", {
3881
+ }, React.createElement(MaximizeInspectorToggle, {
3882
+ "viewMode": this.props.viewMode
3883
+ }), React.createElement("span", {
3855
3884
  "title": "Details",
3856
3885
  "className": this.getDetailsClassName()
3857
3886
  }), React.createElement("span", {
@@ -3913,6 +3942,32 @@
3913
3942
 
3914
3943
  /***/ },
3915
3944
  /* 67 */
3945
+ /***/ function(module, exports, __webpack_require__) {
3946
+
3947
+ /* WEBPACK VAR INJECTION */(function(React) {var MaximizeInspectorToggle;
3948
+
3949
+ MaximizeInspectorToggle = React.createClass({
3950
+ displayName: 'MaximizeInspectorToggle',
3951
+ _toggleMaximized: function() {
3952
+ return this.props.viewMode.toggleInspectorMaximized();
3953
+ },
3954
+ render: function() {
3955
+ return React.createElement("span", {
3956
+ "className": "scrivito_move_left",
3957
+ "title": "Maximize details view",
3958
+ "onClick": this._toggleMaximized
3959
+ }, React.createElement("span", {
3960
+ "className": "scrivito_icon scrivito_icon_chevron_left"
3961
+ }));
3962
+ }
3963
+ });
3964
+
3965
+ module.exports = MaximizeInspectorToggle;
3966
+
3967
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
3968
+
3969
+ /***/ },
3970
+ /* 68 */
3916
3971
  /***/ function(module, exports, __webpack_require__) {
3917
3972
 
3918
3973
  /* WEBPACK VAR INJECTION */(function(React) {var Footer, ModalDialogsModule;
@@ -15,7 +15,8 @@ Scrivito::Configuration.register_obj_format('content_browser') do |obj, _, view_
15
15
  }
16
16
 
17
17
  if obj.binary_content_type && obj.binary_content_type.start_with?('image/')
18
- format[:preview] = obj.binary_url
18
+ binary = obj.binary.transform(width: 260, height: 140)
19
+ format[:preview] = view_context.scrivito_path(binary)
19
20
  end
20
21
 
21
22
  format
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_content_browser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.66.0
4
+ version: 0.70.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-22 00:00:00.000000000 Z
11
+ date: 2015-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coffee-rails
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.66.0
47
+ version: 0.70.0.rc1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.66.0
54
+ version: 0.70.0.rc1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -89,7 +89,6 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - LICENSE
91
91
  - README.md
92
- - Rakefile
93
92
  - app/assets/javascripts/dist/scrivito_content_browser_pkg.js
94
93
  - app/assets/javascripts/scrivito_content_browser.js
95
94
  - app/assets/javascripts/scrivito_content_browser/templates.js.erb
data/Rakefile DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env rake
2
-
3
- require 'bundler/setup'
4
- Bundler::GemHelper.install_tasks