scrivito_content_browser 1.5.5 → 1.6.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: e6dedcb0f78684ca57d04192be2ea9efa1b1c6a1
4
- data.tar.gz: 96c59dc878010077552e1c89e9ff4471d9768abc
3
+ metadata.gz: 368c742f5efb9d2bd399683b6b0a1dd63474fc68
4
+ data.tar.gz: 827a4bd6e3bf82cceede5a870122df948433eef5
5
5
  SHA512:
6
- metadata.gz: 061cb80a6a06a61547242e5a6b1945e80a6669bff1450f7660c589ff3f0b13d13e6e257bbbc7a9b0fdf142c29443c455f2fa94dc9eecfb31103d42bcc2d3f7d7
7
- data.tar.gz: b90112ad6e2d033879c60827e09957755275f3301f5bbb29868a8ec34ce79d90d66f35f84f13b64b4927ef906e77ae0753ac58318df85d4d235d80dc9c1fe7d6
6
+ metadata.gz: 0811abb6434da6c907a2fda67447a9c1bde36759756d38767d660f2e46099db3a0cc6664856ddb888f4d58c37dcb894af6ff5ff6204fdd116e6f430b6c801b90
7
+ data.tar.gz: 40aca6adc8c32337f3761eadd54973d893a58c8d87777570639eb1d4dcf1145d95e9199048c4fc6268df5e4294c202291dfaf4d1532beb13631a0dca71c5cd9f
@@ -60,7 +60,7 @@
60
60
 
61
61
  Provider = ReactRedux.Provider;
62
62
 
63
- configureStore = __webpack_require__(258);
63
+ configureStore = __webpack_require__(259);
64
64
 
65
65
  scrivito.content_browser = (function() {
66
66
  return {
@@ -193,11 +193,16 @@
193
193
  return scrivito.content_browser;
194
194
  });
195
195
 
196
- scrivito.registerBrowseContent(function() {
197
- return scrivito.content_browser.open({
196
+ scrivito.registerBrowseContent(function(options) {
197
+ var defaultOptions;
198
+ if (options == null) {
199
+ options = {};
200
+ }
201
+ defaultOptions = {
198
202
  selection_mode: 'single',
199
203
  standAlone: true
200
- });
204
+ };
205
+ return scrivito.content_browser.open(_.extend(defaultOptions, options));
201
206
  });
202
207
 
203
208
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
@@ -3740,7 +3745,7 @@
3740
3745
  'content_browser.table_view.file_size': 'File size',
3741
3746
  'content_browser.table_view.last_change': 'Last change',
3742
3747
  'content_browser.sort.relevance.title': 'Sort by relevance',
3743
- 'content_browser.sort.relevance.asc_criteria_title': 'Relevance',
3748
+ 'content_browser.sort.relevance.desc_criteria_title': 'Relevance',
3744
3749
  'content_browser.sort.file_name.title': 'Sort by filename',
3745
3750
  'content_browser.sort.file_name.asc_criteria_title': 'Filename: From A to Z',
3746
3751
  'content_browser.sort.file_name.desc_criteria_title': 'Filename: From Z to A',
@@ -3784,7 +3789,7 @@
3784
3789
  'content_browser.table_view.file_size': 'Dateigröße',
3785
3790
  'content_browser.table_view.last_change': 'Letzte Änderung',
3786
3791
  'content_browser.sort.relevance.title': 'Nach Relevanz sortieren',
3787
- 'content_browser.sort.relevance.asc_criteria_title': 'Relevanz',
3792
+ 'content_browser.sort.relevance.desc_criteria_title': 'Relevanz',
3788
3793
  'content_browser.sort.file_name.title': 'Nach Dateiname sortieren',
3789
3794
  'content_browser.sort.file_name.asc_criteria_title': 'Dateiname: Von A bis Z',
3790
3795
  'content_browser.sort.file_name.desc_criteria_title': 'Dateiname: Von Z bis A',
@@ -20295,31 +20300,35 @@
20295
20300
  /* 180 */
20296
20301
  /***/ function(module, exports, __webpack_require__) {
20297
20302
 
20298
- /* WEBPACK VAR INJECTION */(function(React) {var App, AppContainer, Filter, Footer, InspectorComponent, Items, MoreItemsSpinner, ObjCollection, ReactRedux, TopBar, createObj, disableTags, fetchTags, objDeleted, redux, setLastAddedVisibility, _ref, _ref1;
20303
+ /* WEBPACK VAR INJECTION */(function(React) {var App, AppContainer, Filter, Footer, InspectorComponent, Items, MoreItemsSpinner, Obj, ObjCollection, ReactRedux, TopBar, createObj, deselectObjs, disableTags, fetchTags, initializeSelection, objDeleted, redux, setLastAddedVisibility, toggleSelect, _ref, _ref1, _ref2;
20299
20304
 
20300
20305
  ObjCollection = __webpack_require__(181);
20301
20306
 
20307
+ Obj = __webpack_require__(182);
20308
+
20302
20309
  TopBar = __webpack_require__(183);
20303
20310
 
20304
20311
  Filter = __webpack_require__(210);
20305
20312
 
20306
20313
  Items = __webpack_require__(224);
20307
20314
 
20308
- MoreItemsSpinner = __webpack_require__(250);
20315
+ MoreItemsSpinner = __webpack_require__(251);
20309
20316
 
20310
- InspectorComponent = __webpack_require__(251);
20317
+ InspectorComponent = __webpack_require__(252);
20311
20318
 
20312
- Footer = __webpack_require__(255);
20319
+ Footer = __webpack_require__(256);
20313
20320
 
20314
20321
  ReactRedux = __webpack_require__(185);
20315
20322
 
20316
20323
  redux = __webpack_require__(193);
20317
20324
 
20318
- setLastAddedVisibility = __webpack_require__(256).setLastAddedVisibility;
20325
+ setLastAddedVisibility = __webpack_require__(257).setLastAddedVisibility;
20326
+
20327
+ _ref = __webpack_require__(258), createObj = _ref.createObj, objDeleted = _ref.objDeleted;
20319
20328
 
20320
- _ref = __webpack_require__(257), createObj = _ref.createObj, objDeleted = _ref.objDeleted;
20329
+ _ref1 = __webpack_require__(250), fetchTags = _ref1.fetchTags, disableTags = _ref1.disableTags;
20321
20330
 
20322
- _ref1 = __webpack_require__(249), fetchTags = _ref1.fetchTags, disableTags = _ref1.disableTags;
20331
+ _ref2 = __webpack_require__(231), toggleSelect = _ref2.toggleSelect, initializeSelection = _ref2.initializeSelection, deselectObjs = _ref2.deselectObjs;
20323
20332
 
20324
20333
  App = React.createClass({
20325
20334
  displayName: 'App',
@@ -20340,11 +20349,24 @@
20340
20349
  updateLastAdded: function(showLastAdded) {
20341
20350
  return this.props.dispatch(setLastAddedVisibility(showLastAdded));
20342
20351
  },
20343
- destroyAddedObj: function(objId) {
20352
+ destroyObj: function(objId) {
20344
20353
  return this.props.dispatch(objDeleted(objId));
20345
20354
  },
20355
+ toggleObjSelection: function(objId) {
20356
+ return this.props.dispatch(toggleSelect(objId));
20357
+ },
20358
+ deselectObjs: function() {
20359
+ return this.props.dispatch(deselectObjs());
20360
+ },
20346
20361
  activateInitialFilter: function() {
20347
20362
  if (this.refs.filterView.activateInitialFilter) {
20363
+ if (this.props.options.selection) {
20364
+ _.map(this.props.options.selection, (function(_this) {
20365
+ return function(objId) {
20366
+ return _this.toggleObjSelection(objId);
20367
+ };
20368
+ })(this));
20369
+ }
20348
20370
  return this.refs.filterView.activateInitialFilter();
20349
20371
  }
20350
20372
  },
@@ -20355,20 +20377,18 @@
20355
20377
  return this.props.dispatch(fetchTags(query));
20356
20378
  },
20357
20379
  componentDidMount: function() {
20380
+ this.props.dispatch(initializeSelection(this.props.options.selection_mode));
20358
20381
  this.state.filter.onChange(this.updateFilter);
20359
20382
  this.state.objCollection.onChange(this.updateObjCollection);
20360
- this.state.objCollection.on('destroy-obj', this.destroyAddedObj);
20383
+ this.state.objCollection.on('destroy-obj', this.destroyObj);
20361
20384
  return this.activateInitialFilter();
20362
20385
  },
20363
20386
  getInitialState: function() {
20364
- var initialSelection, selectionMode;
20365
- initialSelection = this.props.options.selection || [];
20366
- selectionMode = this.props.options.selection_mode;
20367
20387
  return {
20368
20388
  filter: this.props.initialFilter,
20369
20389
  objs: [],
20370
20390
  sortCriteria: this.props.initialFilter.sortCriteria,
20371
- objCollection: new ObjCollection(initialSelection, selectionMode)
20391
+ objCollection: new ObjCollection()
20372
20392
  };
20373
20393
  },
20374
20394
  _getBodyClassName: function() {
@@ -20402,8 +20422,10 @@
20402
20422
  "updateLastAdded": this.updateLastAdded,
20403
20423
  "sortCriteria": this.props.sortCriteria,
20404
20424
  "additionCount": this.props.lastAdded.additions.length,
20405
- "dispatch": this.props.dispatch,
20406
- "showLastAdded": this.props.lastAdded.isVisible
20425
+ "deselectObjs": this.deselectObjs,
20426
+ "showLastAdded": this.props.lastAdded.isVisible,
20427
+ "initialSelection": this.props.options.selection || [],
20428
+ "selectedObjs": this.props.selection.selectedObjs
20407
20429
  }), React.createElement(Items, {
20408
20430
  "disableTags": this.disableTagBar,
20409
20431
  "ref": "itemView",
@@ -20414,6 +20436,9 @@
20414
20436
  "basePreset": this.props.options.base_preset,
20415
20437
  "viewMode": this.props.objDisplay.viewMode,
20416
20438
  "lastAdded": this.props.lastAdded,
20439
+ "toggleObjSelection": this.toggleObjSelection,
20440
+ "selectedObjs": this.props.selection.selectedObjs,
20441
+ "selectionMode": this.props.selection.selectionMode,
20417
20442
  "filter": this.state.filter,
20418
20443
  "editingView": this.props.options.editingView
20419
20444
  }), (this.state.objCollection.isLoadingAdditionalObjs() ? React.createElement(MoreItemsSpinner, {
@@ -20421,10 +20446,14 @@
20421
20446
  }) : void 0)), React.createElement(InspectorComponent, {
20422
20447
  "dispatch": this.props.dispatch,
20423
20448
  "editingView": this.props.options.editingView,
20424
- "objCollection": this.state.objCollection
20449
+ "disableDelete": !!this.props.options.disableDelete,
20450
+ "objCollection": this.state.objCollection,
20451
+ "selectedObjs": this.props.selection.selectedObjs
20425
20452
  })), React.createElement(Footer, {
20426
20453
  "promise": this.props.promise,
20427
20454
  "editingView": this.props.options.editingView,
20455
+ "disableDelete": this.props.options.disableDelete,
20456
+ "selectedObjs": this.props.selection.selectedObjs,
20428
20457
  "standAlone": this.props.options.standAlone,
20429
20458
  "objCollection": this.state.objCollection
20430
20459
  }));
@@ -20456,11 +20485,8 @@
20456
20485
  ObjCollection = (function(_super) {
20457
20486
  __extends(ObjCollection, _super);
20458
20487
 
20459
- function ObjCollection(selectedObjsIds, _selectionMode, objs) {
20460
- this._selectionMode = _selectionMode;
20488
+ function ObjCollection(objs) {
20461
20489
  ObjCollection.__super__.constructor.call(this);
20462
- this._selectionMode || (this._selectionMode = 'multi');
20463
- this._selectedObjsIds = selectedObjsIds || [];
20464
20490
  this._objs = objs || [];
20465
20491
  this._isAlreadyReversed = false;
20466
20492
  this._curQueryNumber = 0;
@@ -20470,39 +20496,12 @@
20470
20496
  return this._objs;
20471
20497
  };
20472
20498
 
20473
- ObjCollection.prototype.hasMoreItems = function() {
20474
- return this._nextQuery != null;
20475
- };
20476
-
20477
- ObjCollection.prototype.selectedObjsIds = function() {
20478
- return this._selectedObjsIds;
20479
- };
20480
-
20481
- ObjCollection.prototype.isSingleElementSelected = function() {
20482
- return this.getSelectedObjs().length === 1;
20483
- };
20484
-
20485
- ObjCollection.prototype.getSelectedObjs = function() {
20486
- var selectedObjs;
20487
- selectedObjs = [];
20488
- _.each(this._selectedObjsIds, (function(_this) {
20489
- return function(selected) {
20490
- var selectedObj;
20491
- selectedObj = _.find(_this._objs, function(obj) {
20492
- if (obj != null) {
20493
- return obj.id() === selected;
20494
- }
20495
- });
20496
- if (selectedObj != null) {
20497
- return selectedObjs.push(selectedObj);
20498
- }
20499
- };
20500
- })(this));
20501
- return selectedObjs;
20499
+ ObjCollection.prototype.setObjs = function(objs) {
20500
+ return this._objs = objs;
20502
20501
  };
20503
20502
 
20504
- ObjCollection.prototype.deselectObjs = function() {
20505
- return this._selectedObjsIds = [];
20503
+ ObjCollection.prototype.hasMoreItems = function() {
20504
+ return this._nextQuery != null;
20506
20505
  };
20507
20506
 
20508
20507
  ObjCollection.prototype.isLoading = function() {
@@ -20521,10 +20520,6 @@
20521
20520
  }
20522
20521
  };
20523
20522
 
20524
- ObjCollection.prototype.isSingleSelectionMode = function() {
20525
- return this._selectionMode === 'single';
20526
- };
20527
-
20528
20523
  ObjCollection.prototype.loadFromBackend = function(query) {
20529
20524
  this._query = query;
20530
20525
  this._curQueryNumber += 1;
@@ -20538,30 +20533,6 @@
20538
20533
  }
20539
20534
  };
20540
20535
 
20541
- ObjCollection.prototype.toggleSelected = function(obj) {
20542
- if (this.isSelected(obj.id())) {
20543
- this._selectedObjsIds = _.without(this._selectedObjsIds, obj.id());
20544
- } else {
20545
- if (this.isSingleSelectionMode()) {
20546
- this._selectedObjsIds = [obj.id()];
20547
- } else {
20548
- this._selectedObjsIds.push(obj.id());
20549
- }
20550
- }
20551
- if (!this.isPresentInObjCollection(obj)) {
20552
- this._objs.push(obj);
20553
- }
20554
- return this.changed();
20555
- };
20556
-
20557
- ObjCollection.prototype.isPresentInObjCollection = function(obj) {
20558
- return _.where(this._objs, obj).length > 0;
20559
- };
20560
-
20561
- ObjCollection.prototype.isSelected = function(objId) {
20562
- return _.contains(this._selectedObjsIds, objId);
20563
- };
20564
-
20565
20536
  ObjCollection.prototype.loadNextPage = function() {
20566
20537
  var queryNumber;
20567
20538
  if (this.hasMoreItems() && !this.isLoadingAdditionalObjs()) {
@@ -20580,10 +20551,10 @@
20580
20551
  }
20581
20552
  };
20582
20553
 
20583
- ObjCollection.prototype.destroySelectedObjs = function() {
20554
+ ObjCollection.prototype.destroyObjs = function(deletedObjs) {
20584
20555
  var deferreds;
20585
- if (this._selectedObjsIds.length > 0) {
20586
- deferreds = _.map(this._selectedObjsIds, (function(_this) {
20556
+ if (deletedObjs.length > 0) {
20557
+ deferreds = _.map(deletedObjs, (function(_this) {
20587
20558
  return function(objId) {
20588
20559
  return _this._destroyById(objId);
20589
20560
  };
@@ -20603,9 +20574,6 @@
20603
20574
  _this._objs = _.reject(_this._objs, function(obj) {
20604
20575
  return obj.id() === objId;
20605
20576
  });
20606
- _this._selectedObjsIds = _this._selectedObjsIds.filter(function(selectedObjId) {
20607
- return selectedObjId !== objId;
20608
- });
20609
20577
  return _this.trigger('destroy-obj', objId);
20610
20578
  };
20611
20579
  })(this));
@@ -20634,6 +20602,25 @@
20634
20602
  })(this));
20635
20603
  };
20636
20604
 
20605
+ ObjCollection.prototype.getObjs = function(objIds) {
20606
+ var selectedObjs;
20607
+ selectedObjs = [];
20608
+ _.each(objIds, (function(_this) {
20609
+ return function(selected) {
20610
+ var selectedObj;
20611
+ selectedObj = _.find(_this._objs, function(obj) {
20612
+ if (obj != null) {
20613
+ return obj.id() === selected;
20614
+ }
20615
+ });
20616
+ if (selectedObj != null) {
20617
+ return selectedObjs.push(selectedObj);
20618
+ }
20619
+ };
20620
+ })(this));
20621
+ return selectedObjs;
20622
+ };
20623
+
20637
20624
  ObjCollection.prototype._setAndLoadObjs = function(results, next, queryNumber) {
20638
20625
  var curObjs;
20639
20626
  if (queryNumber === this._curQueryNumber) {
@@ -20656,7 +20643,6 @@
20656
20643
 
20657
20644
  ObjCollection.prototype._resetObjsCollectionParams = function() {
20658
20645
  this._query = null;
20659
- this.deselectObjs();
20660
20646
  this._resetLoadingState();
20661
20647
  return this.changed();
20662
20648
  };
@@ -20732,10 +20718,6 @@
20732
20718
  return scrivito.details_url_for_obj_id(this.id());
20733
20719
  };
20734
20720
 
20735
- Obj.prototype.hasDetailsView = function() {
20736
- return this._attr['has_details_view'];
20737
- };
20738
-
20739
20721
  return Obj;
20740
20722
 
20741
20723
  })();
@@ -20762,7 +20744,7 @@
20762
20744
  },
20763
20745
  getInitialState: function() {
20764
20746
  return {
20765
- searchTerm: this.props.filter.searchTerm || ""
20747
+ searchTerm: this.props.filter.searchTerm || ''
20766
20748
  };
20767
20749
  },
20768
20750
  triggerSearchWithEnter: function(event) {
@@ -20809,16 +20791,16 @@
20809
20791
  },
20810
20792
  render: function() {
20811
20793
  return React.createElement("div", {
20812
- "className": "scrivito-content-browser-topbar"
20794
+ "className": 'scrivito-content-browser-topbar'
20813
20795
  }, React.createElement("div", {
20814
- "className": "scrivito-content-browser-search"
20796
+ "className": 'scrivito-content-browser-search'
20815
20797
  }, React.createElement("span", {
20816
- "className": "text-input-wrapper"
20798
+ "className": 'text-input-wrapper'
20817
20799
  }, React.createElement("input", {
20818
- "refs": "searchTermText",
20819
- "type": "text",
20800
+ "refs": 'searchTermText',
20801
+ "type": 'text',
20820
20802
  "placeholder": this._getSearchPlaceholder(),
20821
- "className": "search-field",
20803
+ "className": 'search-field',
20822
20804
  "value": this.state.searchTerm,
20823
20805
  "onChange": this.updateSearchTerm,
20824
20806
  "onKeyUp": this.triggerSearchWithEnter
@@ -20827,7 +20809,7 @@
20827
20809
  "className": this.clearButtonClassName(),
20828
20810
  "title": scrivito.translate('content_browser.search_bar.clear_button')
20829
20811
  })), React.createElement("button", {
20830
- "className": "search-field-button",
20812
+ "className": 'search-field-button',
20831
20813
  "onClick": this.updateSearchFilter.bind(this, this.state.searchTerm)
20832
20814
  }, scrivito.translate('content_browser.search_bar.search_button'))), React.createElement(ViewModeBar, {
20833
20815
  "viewMode": this.props.viewMode
@@ -22326,22 +22308,22 @@
22326
22308
  displayName: 'SortMenu',
22327
22309
  sortItemsData: function() {
22328
22310
  return {
22329
- "relevance": {
22311
+ 'relevance': {
22330
22312
  itemTitle: scrivito.translate('content_browser.sort.relevance.title'),
22331
- ascCriteriaTitle: scrivito.translate('content_browser.sort.relevance.asc_criteria_title'),
22332
- sortItemType: "relevance"
22313
+ descCriteriaTitle: scrivito.translate('content_browser.sort.relevance.desc_criteria_title'),
22314
+ sortItemType: 'relevance'
22333
22315
  },
22334
- "filename": {
22316
+ 'filename': {
22335
22317
  itemTitle: scrivito.translate('content_browser.sort.file_name.title'),
22336
22318
  descCriteriaTitle: scrivito.translate('content_browser.sort.file_name.desc_criteria_title'),
22337
22319
  ascCriteriaTitle: scrivito.translate('content_browser.sort.file_name.asc_criteria_title'),
22338
- sortItemType: "blob:filename"
22320
+ sortItemType: 'blob:filename'
22339
22321
  },
22340
- "date": {
22322
+ 'date': {
22341
22323
  itemTitle: scrivito.translate('content_browser.sort.date.title'),
22342
22324
  descCriteriaTitle: scrivito.translate('content_browser.sort.date.desc_criteria_title'),
22343
22325
  ascCriteriaTitle: scrivito.translate('content_browser.sort.date.asc_criteria_title'),
22344
- sortItemType: "_last_changed"
22326
+ sortItemType: '_last_changed'
22345
22327
  }
22346
22328
  };
22347
22329
  },
@@ -22365,11 +22347,11 @@
22365
22347
  },
22366
22348
  getSortIconClassName: function() {
22367
22349
  var sortIcon;
22368
- sortIcon = "scrivito_icon ";
22350
+ sortIcon = 'scrivito_icon ';
22369
22351
  if (this.props.sortCriteria.sortDirection === DESC_SORT_ORDER) {
22370
- sortIcon += "scrivito_icon_sort_up";
22352
+ sortIcon += 'scrivito_icon_sort_up';
22371
22353
  } else {
22372
- sortIcon += "scrivito_icon_sort_down";
22354
+ sortIcon += 'scrivito_icon_sort_down';
22373
22355
  }
22374
22356
  return sortIcon;
22375
22357
  },
@@ -22382,16 +22364,16 @@
22382
22364
  render: function() {
22383
22365
  var sortItem;
22384
22366
  return React.createElement("span", {
22385
- "className": "scrivito-content-browser-sort-menu scrivito_button scrivito_lightgrey scrivito_right",
22367
+ "className": 'scrivito-content-browser-sort-menu scrivito_button scrivito_lightgrey scrivito_right',
22386
22368
  "onClick": this.toggleSortMenu
22387
22369
  }, React.createElement("i", {
22388
22370
  "className": this.getSortIconClassName()
22389
22371
  }), React.createElement("span", {
22390
- "className": "scrivito-content-browser-sort-menu-title"
22372
+ "className": 'scrivito-content-browser-sort-menu-title'
22391
22373
  }, this.getSortActiveCriteriaTitle()), React.createElement("i", {
22392
- "className": "scrivito_icon scrivito-content-browser-menu-icon scrivito_icon_chevron_down"
22374
+ "className": 'scrivito_icon scrivito-content-browser-menu-icon scrivito_icon_chevron_down'
22393
22375
  }), React.createElement("ul", {
22394
- "className": "scrivito_menu_box scrivito_left"
22376
+ "className": 'scrivito_menu_box scrivito_left'
22395
22377
  }, (function() {
22396
22378
  var _i, _len, _ref1, _results;
22397
22379
  _ref1 = Object.keys(this.sortItemsData());
@@ -22409,7 +22391,7 @@
22409
22391
  }
22410
22392
  return _results;
22411
22393
  }).call(this), React.createElement("li", {
22412
- "className": "scrivito_menu_box_overlay"
22394
+ "className": 'scrivito_menu_box_overlay'
22413
22395
  })));
22414
22396
  }
22415
22397
  });
@@ -22677,7 +22659,7 @@
22677
22659
  "filter": additionalFilter
22678
22660
  });
22679
22661
  });
22680
- return this.renderSubFiltersList(subFilters, "compact");
22662
+ return this.renderSubFiltersList(subFilters, 'compact');
22681
22663
  },
22682
22664
  _activeTags: function() {
22683
22665
  return this._activeTags;
@@ -22687,7 +22669,7 @@
22687
22669
  },
22688
22670
  _triggerReduxStateChanged: function(newProps, oldProps) {
22689
22671
  if (!this._isBuiltInFilterSelected() && !_.isEqual(newProps, oldProps)) {
22690
- return this.props.filter.trigger("reduxStateChanged", this.props.filter);
22672
+ return this.props.filter.trigger('reduxStateChanged', this.props.filter);
22691
22673
  }
22692
22674
  },
22693
22675
  componentWillReceiveProps: function(nextProps) {
@@ -22708,7 +22690,7 @@
22708
22690
  selectedFilter: false
22709
22691
  });
22710
22692
  this.props.updateLastAdded(false);
22711
- this.props.objCollection.deselectObjs();
22693
+ this.props.deselectObjs();
22712
22694
  return this.props.objCollection.loadFromBackend(query);
22713
22695
  },
22714
22696
  loadObjs: function(filter) {
@@ -22729,26 +22711,27 @@
22729
22711
  },
22730
22712
  getFilterClassName: function() {
22731
22713
  var filterBrowserClass;
22732
- filterBrowserClass = "scrivito-content-browser-filter";
22714
+ filterBrowserClass = 'scrivito-content-browser-filter';
22733
22715
  if (this.props.additionCount > 0 && this.props.standAlone) {
22734
22716
  return filterBrowserClass;
22735
22717
  }
22736
22718
  if (this.props.additionCount > 0) {
22737
- filterBrowserClass += " last_added";
22719
+ filterBrowserClass += ' last_added';
22738
22720
  }
22739
22721
  if (this.props.standAlone) {
22740
- filterBrowserClass += " stand-alone";
22722
+ filterBrowserClass += ' stand-alone';
22741
22723
  }
22742
22724
  return filterBrowserClass;
22743
22725
  },
22744
22726
  componentDidMount: function() {
22727
+ this._sortCriteria = this.props.sortCriteria;
22745
22728
  this._activeTags = this.props.tags.activeTags;
22746
22729
  this.props.filter.onChange(this.loadObjsAndTags);
22747
- return this.props.filter.on("reduxStateChanged", this.loadObjs);
22730
+ return this.props.filter.on('reduxStateChanged', this.loadObjs);
22748
22731
  },
22749
22732
  activateInitialFilter: function() {
22750
- if (this.props.objCollection.selectedObjsIds().length > 0) {
22751
- return this.activateSelectedFilter();
22733
+ if (this.props.initialSelection.length > 0) {
22734
+ return this.activateSelectedFilter(this.props.initialSelection);
22752
22735
  } else if (this.props.filter.hasActiveChildren()) {
22753
22736
  return this.loadObjsAndTags(this.props.filter);
22754
22737
  }
@@ -22759,10 +22742,10 @@
22759
22742
  });
22760
22743
  this.props.disableTags();
22761
22744
  this.props.updateLastAdded(true);
22762
- this.props.objCollection.deselectObjs();
22745
+ this.props.deselectObjs();
22763
22746
  return this.props.filter.deselectHierarchicalFilters();
22764
22747
  },
22765
- activateSelectedFilter: function() {
22748
+ activateSelectedFilter: function(selectedObjsIds) {
22766
22749
  var query;
22767
22750
  this.props.filter.deselectHierarchicalFilters();
22768
22751
  this.setState({
@@ -22770,7 +22753,7 @@
22770
22753
  });
22771
22754
  this.props.disableTags();
22772
22755
  this.props.updateLastAdded(false);
22773
- query = QueryBuilder.byId(this.props.objCollection.selectedObjsIds());
22756
+ query = QueryBuilder.byId(selectedObjsIds);
22774
22757
  return this.props.objCollection.loadFromBackend(query);
22775
22758
  },
22776
22759
  getInitialState: function() {
@@ -22781,12 +22764,12 @@
22781
22764
  renderFilterSeparator: function() {
22782
22765
  if (this.props.filter.hasAdditionalFilters() && this.props.filter.hasHierarchicalFilters()) {
22783
22766
  return React.createElement("div", {
22784
- "className": "scrivito_separator"
22767
+ "className": 'scrivito_separator'
22785
22768
  }, scrivito.translate('content_browser.filter.more_filters'));
22786
22769
  }
22787
22770
  },
22788
22771
  render: function() {
22789
- var selectedObjsCount, treeSubFilters;
22772
+ var treeSubFilters;
22790
22773
  treeSubFilters = _.map(this.props.filter.getHierarchicalFilters(), (function(_this) {
22791
22774
  return function(treeFilter) {
22792
22775
  return React.createElement(TreeFilter, {
@@ -22795,13 +22778,12 @@
22795
22778
  });
22796
22779
  };
22797
22780
  })(this));
22798
- selectedObjsCount = this.props.objCollection.getSelectedObjs().length;
22799
22781
  return React.createElement("div", {
22800
22782
  "className": this.getFilterClassName()
22801
22783
  }, React.createElement("div", {
22802
- "className": "scrivito-content-browser-filter-fixed"
22784
+ "className": 'scrivito-content-browser-filter-fixed'
22803
22785
  }, (!this.props.standAlone ? React.createElement(SelectedFilter, {
22804
- "selectedCount": selectedObjsCount,
22786
+ "selectedObjs": this.props.selectedObjs,
22805
22787
  "active": this.state.selectedFilter,
22806
22788
  "activateSelectedFilter": this.activateSelectedFilter
22807
22789
  }) : void 0), (this.props.additionCount > 0 ? React.createElement(LastAddedFilter, {
@@ -22809,7 +22791,7 @@
22809
22791
  "active": this.props.showLastAdded,
22810
22792
  "activateLastAddedFilter": this.activateLastAddedFilter
22811
22793
  }) : void 0)), React.createElement("div", {
22812
- "className": "scrivito-content-browser-filter-scroll"
22794
+ "className": 'scrivito-content-browser-filter-scroll'
22813
22795
  }, this.renderSubFiltersList(treeSubFilters), this.renderFilterSeparator(), this.renderAdditionalFilters()));
22814
22796
  }
22815
22797
  });
@@ -23172,10 +23154,9 @@
23172
23154
  this.tags = tags;
23173
23155
  this.sortCriteria = sortCriteria;
23174
23156
  this._collector = new ActiveNodeConfigCollector(this.filter);
23175
- this.sortCriteria || (this.sortCriteria = {
23176
- sortField: '_last_changed',
23177
- sortDirection: DESC_SORT_ORDER
23178
- });
23157
+ if (!this.sortCriteria) {
23158
+ throw new Error('sortCriteria is not initialized. Please explicit initialize the sort criteria param');
23159
+ }
23179
23160
  if (baseQuery) {
23180
23161
  this._baseQuery = QueryBuilder.prepareQuery(baseQuery);
23181
23162
  }
@@ -23214,29 +23195,36 @@
23214
23195
  };
23215
23196
 
23216
23197
  QueryBuilder.prototype._sortQuery = function(query) {
23217
- if ((query != null) && this._needOrder()) {
23218
- query = query.order(this.sortCriteria.sortField);
23219
- if (this.sortCriteria.sortDirection === DESC_SORT_ORDER) {
23220
- if (!query.orderReversed) {
23221
- query.reverse_order();
23198
+ if (query != null) {
23199
+ if (this._isRelevanceSortCriteria()) {
23200
+ if (!this._hasSearchTerm()) {
23201
+ query = this._setOrderInQuery(query, '_last_changed', DESC_SORT_ORDER);
23222
23202
  }
23203
+ } else {
23204
+ query = this._setOrderInQuery(query, this.sortCriteria.sortField, this.sortCriteria.sortDirection);
23205
+ }
23206
+ }
23207
+ return query;
23208
+ };
23209
+
23210
+ QueryBuilder.prototype._setOrderInQuery = function(query, sortField, sortDirection) {
23211
+ query = query.order(sortField);
23212
+ if (sortDirection === DESC_SORT_ORDER) {
23213
+ if (!query.orderReversed) {
23214
+ query.reverse_order();
23223
23215
  }
23224
23216
  }
23225
23217
  return query;
23226
23218
  };
23227
23219
 
23228
- QueryBuilder.prototype._needOrder = function() {
23229
- return this.sortCriteria.sortField !== "relevance";
23220
+ QueryBuilder.prototype._isRelevanceSortCriteria = function() {
23221
+ return this.sortCriteria.sortField === 'relevance';
23230
23222
  };
23231
23223
 
23232
23224
  QueryBuilder.prototype._addSearchTermQuery = function(query) {
23233
23225
  var searchQuery;
23234
- if (this.filter.searchTerm && this.filter.searchTerm.length > 0) {
23226
+ if (this._hasSearchTerm()) {
23235
23227
  searchQuery = scrivito.obj_where('*', 'contains_prefix', this.filter.searchTerm);
23236
- this.sortCriteria = {
23237
- sortField: "relevance",
23238
- sortDirection: ASC_SORT_ORDER
23239
- };
23240
23228
  return this._addOrCreateQuery(query, searchQuery);
23241
23229
  } else {
23242
23230
  return query;
@@ -23267,6 +23255,10 @@
23267
23255
  }
23268
23256
  };
23269
23257
 
23258
+ QueryBuilder.prototype._hasSearchTerm = function() {
23259
+ return this.filter.searchTerm && this.filter.searchTerm.length > 0;
23260
+ };
23261
+
23270
23262
  return QueryBuilder;
23271
23263
 
23272
23264
  })();
@@ -23324,17 +23316,20 @@
23324
23316
  }
23325
23317
  return classNames;
23326
23318
  },
23319
+ activateSelectedFilter: function() {
23320
+ return this.props.activateSelectedFilter(this.props.selectedObjs);
23321
+ },
23327
23322
  render: function() {
23328
23323
  return React.createElement("div", {
23329
23324
  "className": this.filterClass(),
23330
- "onClick": this.props.activateSelectedFilter
23325
+ "onClick": this.activateSelectedFilter
23331
23326
  }, React.createElement("i", {
23332
23327
  "className": "scrivito-content-browser-icon scrivito-content-browser-icon-ok-box"
23333
23328
  }), React.createElement("span", {
23334
23329
  "className": "scrivito-content-browser-filter-label"
23335
23330
  }, scrivito.translate('content_browser.filter.selected_filter'), React.createElement("span", {
23336
23331
  "className": "scrivito-content-browser-counter selected-total"
23337
- }, this.props.selectedCount)));
23332
+ }, this.props.selectedObjs.length)));
23338
23333
  }
23339
23334
  });
23340
23335
 
@@ -23380,26 +23375,28 @@
23380
23375
  /* 224 */
23381
23376
  /***/ function(module, exports, __webpack_require__) {
23382
23377
 
23383
- /* WEBPACK VAR INJECTION */(function(React) {var Items, LastAddedItems, Obj, PresetBuilder, TableView, TableViewContent, TagBar, ThumbnailItems, objDisplayAction, toggleExpandTagBar, toggleTag, _ref;
23378
+ /* WEBPACK VAR INJECTION */(function(React) {var Items, LastAddedItems, Obj, PresetBuilder, TableView, TableViewContent, TagBar, ThumbnailItems, objDisplayAction, toggleExpandTagBar, toggleTag, uploadedObjs, _ref;
23384
23379
 
23385
23380
  TableView = __webpack_require__(225);
23386
23381
 
23387
23382
  ThumbnailItems = __webpack_require__(226);
23388
23383
 
23389
- PresetBuilder = __webpack_require__(234);
23384
+ PresetBuilder = __webpack_require__(235);
23390
23385
 
23391
- LastAddedItems = __webpack_require__(235);
23386
+ LastAddedItems = __webpack_require__(236);
23392
23387
 
23393
- TableViewContent = __webpack_require__(246);
23388
+ TableViewContent = __webpack_require__(247);
23394
23389
 
23395
- TagBar = __webpack_require__(248);
23390
+ TagBar = __webpack_require__(249);
23396
23391
 
23397
23392
  objDisplayAction = __webpack_require__(205);
23398
23393
 
23399
- _ref = __webpack_require__(249), toggleExpandTagBar = _ref.toggleExpandTagBar, toggleTag = _ref.toggleTag;
23394
+ _ref = __webpack_require__(250), toggleExpandTagBar = _ref.toggleExpandTagBar, toggleTag = _ref.toggleTag;
23400
23395
 
23401
23396
  Obj = __webpack_require__(182);
23402
23397
 
23398
+ uploadedObjs = __webpack_require__(242).uploadedObjs;
23399
+
23403
23400
  Items = React.createClass({
23404
23401
  displayName: 'Items',
23405
23402
  getInitialState: function() {
@@ -23408,11 +23405,16 @@
23408
23405
  };
23409
23406
  },
23410
23407
  componentWillReceiveProps: function(nextProps) {
23411
- var obj;
23408
+ var obj, objData, objs;
23412
23409
  if (this.props.lastAdded.isVisible && nextProps.lastAdded.lastAddedObj) {
23410
+ objData = uploadedObjs(nextProps.lastAdded.additions);
23411
+ objs = _.map(objData, function(newObj) {
23412
+ return new Obj(newObj);
23413
+ });
23414
+ this.props.objCollection.setObjs(objs);
23413
23415
  if (this.props.lastAdded.lastAddedObj !== nextProps.lastAdded.lastAddedObj) {
23414
23416
  obj = new Obj(nextProps.lastAdded.lastAddedObj);
23415
- return this.props.objCollection.toggleSelected(obj);
23417
+ return this.props.toggleObjSelection(obj.id());
23416
23418
  }
23417
23419
  }
23418
23420
  },
@@ -23543,10 +23545,11 @@
23543
23545
  }, React.createElement("i", {
23544
23546
  "className": "scrivito_icon scrivito_icon_refresh"
23545
23547
  })) : this.props.lastAdded.isVisible ? React.createElement(LastAddedItems, {
23546
- "objCollection": this.props.objCollection,
23547
23548
  "activeTags": this.props.tags.activeTags,
23548
- "toggleSelected": this.props.toggleSelected,
23549
+ "selectionMode": this.props.selectionMode,
23549
23550
  "filter": this.props.filter,
23551
+ "toggleObjSelection": this.props.toggleObjSelection,
23552
+ "selectedObjs": this.props.selectedObjs,
23550
23553
  "createObj": this.props.createObj,
23551
23554
  "basePreset": this.props.basePreset,
23552
23555
  "viewMode": this.props.viewMode,
@@ -23555,7 +23558,6 @@
23555
23558
  }) : this.props.viewMode === objDisplayAction.TABLE_VIEW ? React.createElement(TableView, {
23556
23559
  "objCollection": this.props.objCollection,
23557
23560
  "activeTags": this.props.tags.activeTags,
23558
- "toggleSelected": this.props.toggleSelected,
23559
23561
  "filter": this.props.filter,
23560
23562
  "createObj": this.props.createObj,
23561
23563
  "basePreset": this.props.basePreset
@@ -23566,18 +23568,24 @@
23566
23568
  "ps": true,
23567
23569
  "basePreset": true,
23568
23570
  "t": true,
23571
+ "toggleObjSelection": this.props.toggleObjSelection,
23569
23572
  "createObj": this.props.createObj,
23570
23573
  "objCollection": this.props.objCollection,
23571
23574
  "editingView": this.props.editingView,
23575
+ "selectedObjs": this.props.selectedObjs,
23576
+ "selectionMode": this.props.selectionMode,
23572
23577
  "filter": this.props.filter
23573
23578
  })) : React.createElement(ThumbnailItems, {
23574
23579
  "objCollection": this.props.objCollection,
23575
23580
  "viewMode": this.props.viewMode,
23581
+ "toggleObjSelection": this.props.toggleObjSelection,
23582
+ "selectionMode": this.props.selectionMode,
23576
23583
  "activeTags": this.props.tags.activeTags,
23577
23584
  "basePreset": this.props.basePreset,
23578
23585
  "filter": this.props.filter,
23579
23586
  "editingView": this.props.editingView,
23580
- "createObj": this.props.createObj
23587
+ "createObj": this.props.createObj,
23588
+ "selectedObjs": this.props.selectedObjs
23581
23589
  })));
23582
23590
  }
23583
23591
  });
@@ -23616,9 +23624,9 @@
23616
23624
 
23617
23625
  ThumbnailItem = __webpack_require__(228);
23618
23626
 
23619
- ThumbnailAddItem = __webpack_require__(231);
23627
+ ThumbnailAddItem = __webpack_require__(232);
23620
23628
 
23621
- ObjCreation = __webpack_require__(233);
23629
+ ObjCreation = __webpack_require__(234);
23622
23630
 
23623
23631
  ActiveNodeConfigCollector = __webpack_require__(208);
23624
23632
 
@@ -23646,8 +23654,10 @@
23646
23654
  return function(obj) {
23647
23655
  return React.createElement(ThumbnailItem, {
23648
23656
  "key": obj.id(),
23657
+ "selectedObjs": _this.props.selectedObjs,
23658
+ "toggleObjSelection": _this.props.toggleObjSelection,
23649
23659
  "obj": obj,
23650
- "objCollection": _this.props.objCollection
23660
+ "selectionMode": _this.props.selectionMode
23651
23661
  });
23652
23662
  };
23653
23663
  })(this));
@@ -23743,12 +23753,14 @@
23743
23753
  /* 228 */
23744
23754
  /***/ function(module, exports, __webpack_require__) {
23745
23755
 
23746
- /* WEBPACK VAR INJECTION */(function(React) {var InspectedItemMixin, MimeTypeIcon, ThumbnailItem;
23756
+ /* WEBPACK VAR INJECTION */(function(React) {var InspectedItemMixin, MimeTypeIcon, SINGLE_SELECTION_MODE, ThumbnailItem;
23747
23757
 
23748
23758
  InspectedItemMixin = __webpack_require__(229);
23749
23759
 
23750
23760
  MimeTypeIcon = __webpack_require__(230);
23751
23761
 
23762
+ SINGLE_SELECTION_MODE = __webpack_require__(231).SINGLE_SELECTION_MODE;
23763
+
23752
23764
  ThumbnailItem = React.createClass({
23753
23765
  displayName: 'ThumbnailItem',
23754
23766
  mixins: [InspectedItemMixin],
@@ -23795,7 +23807,7 @@
23795
23807
  "className": "scrivito-content-browser-thumbnails-name"
23796
23808
  }, this.props.obj.title()), React.createElement("span", {
23797
23809
  "className": "scrivito-content-browser-thumbnails-size"
23798
- }, this.props.obj.subtitle()), (!this.props.objCollection.isSingleSelectionMode() ? React.createElement("span", {
23810
+ }, this.props.obj.subtitle()), (this.props.selectionMode !== SINGLE_SELECTION_MODE ? React.createElement("span", {
23799
23811
  "className": 'scrivito-content-browser-thumbnails-select select-item'
23800
23812
  }) : void 0))));
23801
23813
  }
@@ -23812,10 +23824,13 @@
23812
23824
  var InspectedItemMixin;
23813
23825
 
23814
23826
  InspectedItemMixin = {
23827
+ isSelectedItem: function(objId) {
23828
+ return _.contains(this.props.selectedObjs, objId);
23829
+ },
23815
23830
  getItemClasses: function() {
23816
23831
  var className;
23817
23832
  className = 'content-browser-item ';
23818
- if (this.props.objCollection.isSelected(this.props.obj.id())) {
23833
+ if (this.isSelectedItem(this.props.obj.id())) {
23819
23834
  className += 'active';
23820
23835
  }
23821
23836
  return className;
@@ -23823,13 +23838,13 @@
23823
23838
  selectClass: function() {
23824
23839
  var className;
23825
23840
  className = this.baseSelectClass();
23826
- if (this.props.objCollection.isSelected(this.props.obj.id())) {
23841
+ if (this.isSelectedItem(this.props.obj.id())) {
23827
23842
  className += ' active';
23828
23843
  }
23829
23844
  return className;
23830
23845
  },
23831
23846
  handleSelectClick: function() {
23832
- return this.props.objCollection.toggleSelected(this.props.obj);
23847
+ return this.props.toggleObjSelection(this.props.obj.id());
23833
23848
  }
23834
23849
  };
23835
23850
 
@@ -23885,11 +23900,63 @@
23885
23900
 
23886
23901
  /***/ },
23887
23902
  /* 231 */
23903
+ /***/ function(module, exports) {
23904
+
23905
+ var DESELECT_OBJS, INITIALIZE_SELECTION, MULTI_SELECTION_MODE, SINGLE_SELECTION_MODE, TOGGLE_SELECT, deselectObjs, initializeSelection, toggleSelect;
23906
+
23907
+ TOGGLE_SELECT = 'TOGGLE_SELECT';
23908
+
23909
+ DESELECT_OBJS = 'DESELECT_OBJS';
23910
+
23911
+ INITIALIZE_SELECTION = 'INITIALIZE_SELECTION';
23912
+
23913
+ SINGLE_SELECTION_MODE = 'single';
23914
+
23915
+ MULTI_SELECTION_MODE = 'multi';
23916
+
23917
+ toggleSelect = (function(_this) {
23918
+ return function(objId) {
23919
+ return {
23920
+ type: TOGGLE_SELECT,
23921
+ objId: objId
23922
+ };
23923
+ };
23924
+ })(this);
23925
+
23926
+ initializeSelection = (function(_this) {
23927
+ return function(mode) {
23928
+ return {
23929
+ type: INITIALIZE_SELECTION,
23930
+ mode: mode
23931
+ };
23932
+ };
23933
+ })(this);
23934
+
23935
+ deselectObjs = function() {
23936
+ return {
23937
+ type: DESELECT_OBJS
23938
+ };
23939
+ };
23940
+
23941
+ module.exports = {
23942
+ DESELECT_OBJS: DESELECT_OBJS,
23943
+ TOGGLE_SELECT: TOGGLE_SELECT,
23944
+ INITIALIZE_SELECTION: INITIALIZE_SELECTION,
23945
+ SINGLE_SELECTION_MODE: SINGLE_SELECTION_MODE,
23946
+ MULTI_SELECTION_MODE: MULTI_SELECTION_MODE,
23947
+ toggleSelect: toggleSelect,
23948
+ initializeSelection: initializeSelection,
23949
+ deselectObjs: deselectObjs
23950
+ };
23951
+
23952
+
23953
+ /***/ },
23954
+ /* 232 */
23888
23955
  /***/ function(module, exports, __webpack_require__) {
23889
23956
 
23890
23957
  /* WEBPACK VAR INJECTION */(function(React) {var AddItemMixin, ThumbnailAddItem;
23891
23958
 
23892
- AddItemMixin = __webpack_require__(232);
23959
+ AddItemMixin = __webpack_require__(233);
23893
23960
 
23894
23961
  ThumbnailAddItem = React.createClass({
23895
23962
  displayName: 'ThumbnailAddItem',
@@ -23914,7 +23981,7 @@
23914
23981
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
23915
23982
 
23916
23983
  /***/ },
23917
- /* 232 */
23984
+ /* 233 */
23918
23985
  /***/ function(module, exports, __webpack_require__) {
23919
23986
 
23920
23987
  /* WEBPACK VAR INJECTION */(function(React) {var AddItemMixin;
@@ -24009,14 +24076,14 @@
24009
24076
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24010
24077
 
24011
24078
  /***/ },
24012
- /* 233 */
24079
+ /* 234 */
24013
24080
  /***/ function(module, exports, __webpack_require__) {
24014
24081
 
24015
24082
  var ActiveNodeConfigCollector, ObjCreation, PresetBuilder;
24016
24083
 
24017
24084
  ActiveNodeConfigCollector = __webpack_require__(208);
24018
24085
 
24019
- PresetBuilder = __webpack_require__(234);
24086
+ PresetBuilder = __webpack_require__(235);
24020
24087
 
24021
24088
  ObjCreation = (function() {
24022
24089
  function ObjCreation(filter) {
@@ -24096,7 +24163,7 @@
24096
24163
 
24097
24164
 
24098
24165
  /***/ },
24099
- /* 234 */
24166
+ /* 235 */
24100
24167
  /***/ function(module, exports, __webpack_require__) {
24101
24168
 
24102
24169
  var ActiveNodeConfigCollector, PresetBuilder;
@@ -24192,14 +24259,14 @@
24192
24259
 
24193
24260
 
24194
24261
  /***/ },
24195
- /* 235 */
24262
+ /* 236 */
24196
24263
  /***/ function(module, exports, __webpack_require__) {
24197
24264
 
24198
24265
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedItems, LastAddedTableViewContent, LastAddedThumbnailItems, TableView, objDisplayAction;
24199
24266
 
24200
- LastAddedTableViewContent = __webpack_require__(236);
24267
+ LastAddedTableViewContent = __webpack_require__(237);
24201
24268
 
24202
- LastAddedThumbnailItems = __webpack_require__(243);
24269
+ LastAddedThumbnailItems = __webpack_require__(244);
24203
24270
 
24204
24271
  TableView = __webpack_require__(225);
24205
24272
 
@@ -24211,23 +24278,23 @@
24211
24278
  return React.createElement("div", null, (this.props.viewMode === objDisplayAction.TABLE_VIEW ? React.createElement(TableView, {
24212
24279
  "objCollection": this.props.objCollection,
24213
24280
  "activeTags": this.props.activeTags,
24214
- "toggleSelected": this.props.toggleSelected,
24215
24281
  "filter": this.props.filter,
24216
24282
  "createObj": this.props.createObj,
24217
24283
  "basePreset": this.props.basePreset
24218
24284
  }, React.createElement(LastAddedTableViewContent, {
24219
- "objCollection": this.props.objCollection,
24220
24285
  "activeTags": this.props.activeTags,
24221
- "toggleSelected": this.props.toggleSelected,
24222
24286
  "filter": this.props.filter,
24287
+ "selectedObjs": this.props.selectedObjs,
24288
+ "toggleObjSelection": this.props.toggleObjSelection,
24223
24289
  "createObj": this.props.createObj,
24224
24290
  "additions": this.props.additions,
24225
24291
  "basePreset": this.props.basePreset
24226
24292
  })) : React.createElement(LastAddedThumbnailItems, {
24227
- "objCollection": this.props.objCollection,
24228
24293
  "activeTags": this.props.activeTags,
24229
- "toggleSelected": this.props.toggleSelected,
24294
+ "selectionMode": this.props.selectionMode,
24230
24295
  "filter": this.props.filter,
24296
+ "toggleObjSelection": this.props.toggleObjSelection,
24297
+ "selectedObjs": this.props.selectedObjs,
24231
24298
  "createObj": this.props.createObj,
24232
24299
  "additions": this.props.additions,
24233
24300
  "basePreset": this.props.basePreset
@@ -24240,20 +24307,20 @@
24240
24307
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24241
24308
 
24242
24309
  /***/ },
24243
- /* 236 */
24310
+ /* 237 */
24244
24311
  /***/ function(module, exports, __webpack_require__) {
24245
24312
 
24246
24313
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedTableViewContent, LastAddedTableViewErrorItem, LastAddedTableViewItem, Obj, TableViewItem, failed, isActive, isCompleted, _ref;
24247
24314
 
24248
- LastAddedTableViewErrorItem = __webpack_require__(237);
24315
+ LastAddedTableViewErrorItem = __webpack_require__(238);
24249
24316
 
24250
- LastAddedTableViewItem = __webpack_require__(239);
24317
+ LastAddedTableViewItem = __webpack_require__(240);
24251
24318
 
24252
- TableViewItem = __webpack_require__(242);
24319
+ TableViewItem = __webpack_require__(243);
24253
24320
 
24254
24321
  Obj = __webpack_require__(182);
24255
24322
 
24256
- _ref = __webpack_require__(241), isCompleted = _ref.isCompleted, isActive = _ref.isActive, failed = _ref.failed;
24323
+ _ref = __webpack_require__(242), isCompleted = _ref.isCompleted, isActive = _ref.isActive, failed = _ref.failed;
24257
24324
 
24258
24325
  LastAddedTableViewContent = React.createClass({
24259
24326
  displayName: 'LastAddedTableViewContent',
@@ -24279,9 +24346,10 @@
24279
24346
  } else if (isCompleted(addition)) {
24280
24347
  obj = new Obj(addition.obj);
24281
24348
  return React.createElement(TableViewItem, {
24349
+ "toggleObjSelection": _this.props.toggleObjSelection,
24350
+ "selectedObjs": _this.props.selectedObjs,
24282
24351
  "key": obj.id(),
24283
- "obj": obj,
24284
- "objCollection": _this.props.objCollection
24352
+ "obj": obj
24285
24353
  });
24286
24354
  }
24287
24355
  };
@@ -24299,12 +24367,12 @@
24299
24367
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24300
24368
 
24301
24369
  /***/ },
24302
- /* 237 */
24370
+ /* 238 */
24303
24371
  /***/ function(module, exports, __webpack_require__) {
24304
24372
 
24305
24373
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedErrorItemMixin, LastAddedTableViewErrorItem;
24306
24374
 
24307
- LastAddedErrorItemMixin = __webpack_require__(238);
24375
+ LastAddedErrorItemMixin = __webpack_require__(239);
24308
24376
 
24309
24377
  LastAddedTableViewErrorItem = React.createClass({
24310
24378
  displayName: 'LastAddedTableViewError',
@@ -24327,7 +24395,7 @@
24327
24395
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24328
24396
 
24329
24397
  /***/ },
24330
- /* 238 */
24398
+ /* 239 */
24331
24399
  /***/ function(module, exports, __webpack_require__) {
24332
24400
 
24333
24401
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedErrorItemMixin;
@@ -24362,12 +24430,12 @@
24362
24430
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24363
24431
 
24364
24432
  /***/ },
24365
- /* 239 */
24433
+ /* 240 */
24366
24434
  /***/ function(module, exports, __webpack_require__) {
24367
24435
 
24368
24436
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedItemMixin, LastAddedTableViewItem;
24369
24437
 
24370
- LastAddedItemMixin = __webpack_require__(240);
24438
+ LastAddedItemMixin = __webpack_require__(241);
24371
24439
 
24372
24440
  LastAddedTableViewItem = React.createClass({
24373
24441
  displayName: 'LastAddedTableViewItem',
@@ -24392,12 +24460,12 @@
24392
24460
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24393
24461
 
24394
24462
  /***/ },
24395
- /* 240 */
24463
+ /* 241 */
24396
24464
  /***/ function(module, exports, __webpack_require__) {
24397
24465
 
24398
24466
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedItemMixin, isActive;
24399
24467
 
24400
- isActive = __webpack_require__(241).isActive;
24468
+ isActive = __webpack_require__(242).isActive;
24401
24469
 
24402
24470
  LastAddedItemMixin = {
24403
24471
  uploadInProgress: function() {
@@ -24420,10 +24488,10 @@
24420
24488
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24421
24489
 
24422
24490
  /***/ },
24423
- /* 241 */
24491
+ /* 242 */
24424
24492
  /***/ function(module, exports) {
24425
24493
 
24426
- var failed, isActive, isCompleted, isFailed, status;
24494
+ var failed, isActive, isCompleted, isFailed, status, uploadedObjs;
24427
24495
 
24428
24496
  status = function(addition) {
24429
24497
  if (addition.progress === 0) {
@@ -24447,6 +24515,12 @@
24447
24515
  return status(addition) === "failed";
24448
24516
  };
24449
24517
 
24518
+ uploadedObjs = function(additions) {
24519
+ var completed;
24520
+ completed = _.filter(additions, isCompleted);
24521
+ return _.pluck(completed, 'obj');
24522
+ };
24523
+
24450
24524
  failed = function(additions) {
24451
24525
  return _.filter(additions, isFailed);
24452
24526
  };
@@ -24454,6 +24528,7 @@
24454
24528
  module.exports = {
24455
24529
  status: status,
24456
24530
  failed: failed,
24531
+ uploadedObjs: uploadedObjs,
24457
24532
  isActive: isActive,
24458
24533
  isCompleted: isCompleted,
24459
24534
  isFailed: isFailed
@@ -24461,7 +24536,7 @@
24461
24536
 
24462
24537
 
24463
24538
  /***/ },
24464
- /* 242 */
24539
+ /* 243 */
24465
24540
  /***/ function(module, exports, __webpack_require__) {
24466
24541
 
24467
24542
  /* WEBPACK VAR INJECTION */(function(React) {var InspectedItemMixin, TableViewItem;
@@ -24510,20 +24585,20 @@
24510
24585
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24511
24586
 
24512
24587
  /***/ },
24513
- /* 243 */
24588
+ /* 244 */
24514
24589
  /***/ function(module, exports, __webpack_require__) {
24515
24590
 
24516
24591
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedThumbnailErrorItem, LastAddedThumbnailItem, LastAddedThumbnailItems, Obj, ThumbnailItem, failed, isActive, isCompleted, _ref;
24517
24592
 
24518
- LastAddedThumbnailErrorItem = __webpack_require__(244);
24593
+ LastAddedThumbnailErrorItem = __webpack_require__(245);
24519
24594
 
24520
- LastAddedThumbnailItem = __webpack_require__(245);
24595
+ LastAddedThumbnailItem = __webpack_require__(246);
24521
24596
 
24522
24597
  ThumbnailItem = __webpack_require__(228);
24523
24598
 
24524
24599
  Obj = __webpack_require__(182);
24525
24600
 
24526
- _ref = __webpack_require__(241), isCompleted = _ref.isCompleted, isActive = _ref.isActive, failed = _ref.failed;
24601
+ _ref = __webpack_require__(242), isCompleted = _ref.isCompleted, isActive = _ref.isActive, failed = _ref.failed;
24527
24602
 
24528
24603
  LastAddedThumbnailItems = React.createClass({
24529
24604
  displayName: "LastAddedThumbnailItems",
@@ -24552,8 +24627,10 @@
24552
24627
  obj = new Obj(addition.obj);
24553
24628
  return React.createElement(ThumbnailItem, {
24554
24629
  "key": obj.id(),
24555
- "obj": obj,
24556
- "objCollection": _this.props.objCollection
24630
+ "selectedObjs": _this.props.selectedObjs,
24631
+ "toggleObjSelection": _this.props.toggleObjSelection,
24632
+ "selectionMode": _this.props.selectionMode,
24633
+ "obj": obj
24557
24634
  });
24558
24635
  }
24559
24636
  };
@@ -24571,12 +24648,12 @@
24571
24648
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24572
24649
 
24573
24650
  /***/ },
24574
- /* 244 */
24651
+ /* 245 */
24575
24652
  /***/ function(module, exports, __webpack_require__) {
24576
24653
 
24577
24654
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedErrorItemMixin, LastAddedThumbnailErrorItem;
24578
24655
 
24579
- LastAddedErrorItemMixin = __webpack_require__(238);
24656
+ LastAddedErrorItemMixin = __webpack_require__(239);
24580
24657
 
24581
24658
  LastAddedThumbnailErrorItem = React.createClass({
24582
24659
  displayName: 'LastAddedThumbnailErrorItem',
@@ -24601,12 +24678,12 @@
24601
24678
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24602
24679
 
24603
24680
  /***/ },
24604
- /* 245 */
24681
+ /* 246 */
24605
24682
  /***/ function(module, exports, __webpack_require__) {
24606
24683
 
24607
24684
  /* WEBPACK VAR INJECTION */(function(React) {var LastAddedItemMixin, LastAddedThumbnailItem;
24608
24685
 
24609
- LastAddedItemMixin = __webpack_require__(240);
24686
+ LastAddedItemMixin = __webpack_require__(241);
24610
24687
 
24611
24688
  LastAddedThumbnailItem = React.createClass({
24612
24689
  displayName: 'LastAddedThumbnailItem',
@@ -24637,16 +24714,16 @@
24637
24714
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24638
24715
 
24639
24716
  /***/ },
24640
- /* 246 */
24717
+ /* 247 */
24641
24718
  /***/ function(module, exports, __webpack_require__) {
24642
24719
 
24643
24720
  /* WEBPACK VAR INJECTION */(function(React) {var InfiniteScrollMixin, ObjCreation, ReactDOM, TableViewAddItem, TableViewContent, TableViewItem;
24644
24721
 
24645
- TableViewItem = __webpack_require__(242);
24722
+ TableViewItem = __webpack_require__(243);
24646
24723
 
24647
- TableViewAddItem = __webpack_require__(247);
24724
+ TableViewAddItem = __webpack_require__(248);
24648
24725
 
24649
- ObjCreation = __webpack_require__(233);
24726
+ ObjCreation = __webpack_require__(234);
24650
24727
 
24651
24728
  InfiniteScrollMixin = __webpack_require__(227);
24652
24729
 
@@ -24661,7 +24738,9 @@
24661
24738
  return React.createElement(TableViewItem, {
24662
24739
  "key": obj.id(),
24663
24740
  "obj": obj,
24664
- "objCollection": _this.props.objCollection
24741
+ "selectionMode": _this.props.selectionMode,
24742
+ "selectedObjs": _this.props.selectedObjs,
24743
+ "toggleObjSelection": _this.props.toggleObjSelection
24665
24744
  });
24666
24745
  };
24667
24746
  })(this));
@@ -24693,12 +24772,12 @@
24693
24772
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24694
24773
 
24695
24774
  /***/ },
24696
- /* 247 */
24775
+ /* 248 */
24697
24776
  /***/ function(module, exports, __webpack_require__) {
24698
24777
 
24699
24778
  /* WEBPACK VAR INJECTION */(function(React) {var AddItemMixin, TableViewAddItem;
24700
24779
 
24701
- AddItemMixin = __webpack_require__(232);
24780
+ AddItemMixin = __webpack_require__(233);
24702
24781
 
24703
24782
  TableViewAddItem = React.createClass({
24704
24783
  mixins: [AddItemMixin],
@@ -24723,7 +24802,7 @@
24723
24802
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24724
24803
 
24725
24804
  /***/ },
24726
- /* 248 */
24805
+ /* 249 */
24727
24806
  /***/ function(module, exports, __webpack_require__) {
24728
24807
 
24729
24808
  /* WEBPACK VAR INJECTION */(function(React) {var TagBar;
@@ -24776,7 +24855,7 @@
24776
24855
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24777
24856
 
24778
24857
  /***/ },
24779
- /* 249 */
24858
+ /* 250 */
24780
24859
  /***/ function(module, exports) {
24781
24860
 
24782
24861
  var TagsActionCreator;
@@ -24852,7 +24931,7 @@
24852
24931
 
24853
24932
 
24854
24933
  /***/ },
24855
- /* 250 */
24934
+ /* 251 */
24856
24935
  /***/ function(module, exports, __webpack_require__) {
24857
24936
 
24858
24937
  /* WEBPACK VAR INJECTION */(function(React) {var MoreItemsSpinner;
@@ -24873,77 +24952,60 @@
24873
24952
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24874
24953
 
24875
24954
  /***/ },
24876
- /* 251 */
24955
+ /* 252 */
24877
24956
  /***/ function(module, exports, __webpack_require__) {
24878
24957
 
24879
- /* WEBPACK VAR INJECTION */(function(React) {var Inspector, InspectorAction, MaximizeInspectorToggle, ModalDialogsModule, ReactRedux;
24880
-
24881
- ModalDialogsModule = __webpack_require__(252);
24958
+ /* WEBPACK VAR INJECTION */(function(React) {var Inspector, InspectorHeader, MaximizeInspectorToggle;
24882
24959
 
24883
24960
  MaximizeInspectorToggle = __webpack_require__(253);
24884
24961
 
24885
- InspectorAction = __webpack_require__(254);
24886
-
24887
- ReactRedux = __webpack_require__(185);
24962
+ InspectorHeader = __webpack_require__(254);
24888
24963
 
24889
24964
  Inspector = React.createClass({
24890
24965
  displayName: 'Inspector',
24891
- getDetailsClassName: function() {
24892
- return "scrivito_icon scrivito_icon_eye";
24893
- },
24894
- toggleInspectorMaximized: function() {
24895
- return this.props.dispatch(InspectorAction.toggleInspectorMaximized());
24896
- },
24897
- getEmptyPlaceholder: function() {
24898
- return React.createElement("div", {
24899
- "className": "details-view"
24900
- }, React.createElement("p", {
24901
- "className": "no-editing-available"
24902
- }, React.createElement("span", {
24903
- "className": "scrivito_icon scrivito_icon_generic"
24904
- }), "No edit view available."));
24966
+ propTypes: {
24967
+ editingView: React.PropTypes.bool.isRequired,
24968
+ disableDelete: React.PropTypes.bool.isRequired,
24969
+ selectedObjs: React.PropTypes.arrayOf(React.PropTypes.string).isRequired,
24970
+ objCollection: React.PropTypes.object.isRequired,
24971
+ dispatch: React.PropTypes.func.isRequired
24905
24972
  },
24906
- _getMultiSelectedTitle: function() {
24907
- return "Selected: " + (this.props.objCollection.getSelectedObjs().length) + " items";
24908
- },
24909
- _getInspectedObj: function() {
24910
- return this.props.objCollection.getSelectedObjs()[0];
24911
- },
24912
- _fileDetail: function() {
24913
- var _ref;
24914
- return (_ref = this._getInspectedObj()) != null ? _ref.title() : void 0;
24915
- },
24916
- _showInspectorHeader: function(title) {
24917
- return React.createElement("h3", {
24918
- "title": title
24919
- }, React.createElement(MaximizeInspectorToggle, {
24920
- "toggleInspectorMaximized": this.toggleInspectorMaximized
24921
- }), React.createElement("span", {
24922
- "title": "Details",
24923
- "className": this.getDetailsClassName()
24924
- }), React.createElement("span", {
24925
- "className": "title"
24926
- }, title), (this.props.editingView ? React.createElement("span", {
24927
- "className": "scrivito_icon scrivito_icon_trash scrivito_delete",
24928
- "onClick": this._deleteInspectedObjs
24929
- }) : void 0));
24973
+ _detailsViewUrl: function() {
24974
+ return scrivito.details_url_for_obj_id(this.props.selectedObjs[0]);
24930
24975
  },
24931
24976
  _deleteInspectedObjs: function() {
24932
- return ModalDialogsModule.deleteObjs(this.props.objCollection.getSelectedObjs()).then((function(_this) {
24933
- return function() {
24934
- return _this.props.objCollection.destroySelectedObjs();
24935
- };
24936
- })(this));
24977
+ var _ref;
24978
+ if (this.props.selectedObjs.length) {
24979
+ return (_ref = scrivito.ConfirmDeleteDialog).open.apply(_ref, this.props.selectedObjs).then((function(_this) {
24980
+ return function(isConfirmed) {
24981
+ if (isConfirmed) {
24982
+ return _this.props.objCollection.destroyObjs(_this.props.selectedObjs);
24983
+ }
24984
+ };
24985
+ })(this));
24986
+ }
24937
24987
  },
24938
24988
  render: function() {
24939
24989
  return React.createElement("div", {
24940
24990
  "className": "scrivito-content-browser-inspector"
24941
- }, (this.props.objCollection.getSelectedObjs().length > 0 ? this.props.objCollection.isSingleElementSelected() ? React.createElement("div", null, this._showInspectorHeader(this._fileDetail()), React.createElement("div", {
24991
+ }, (this.props.selectedObjs.length > 0 ? this.props.selectedObjs.length === 1 ? React.createElement("div", null, React.createElement(InspectorHeader, {
24992
+ "editingView": this.props.editingView,
24993
+ "disableDelete": this.props.disableDelete,
24994
+ "dispatch": this.props.dispatch,
24995
+ "selectedObjs": this.props.selectedObjs,
24996
+ "deleteInspectedObjs": this._deleteInspectedObjs
24997
+ }), React.createElement("div", {
24942
24998
  "className": "inspector-content"
24943
- }, (this._getInspectedObj().hasDetailsView() ? React.createElement("iframe", {
24944
- "src": this._getInspectedObj().detailsViewUrl(),
24999
+ }, React.createElement("iframe", {
25000
+ "src": this._detailsViewUrl(),
24945
25001
  "name": "scrivito_inspector"
24946
- }) : this.getEmptyPlaceholder()))) : this._showInspectorHeader(this._getMultiSelectedTitle()) : void 0));
25002
+ }))) : React.createElement(InspectorHeader, {
25003
+ "editingView": this.props.editingView,
25004
+ "disableDelete": this.props.disableDelete,
25005
+ "dispatch": this.props.dispatch,
25006
+ "selectedObjs": this.props.selectedObjs,
25007
+ "deleteInspectedObjs": this._deleteInspectedObjs
25008
+ }) : void 0));
24947
25009
  }
24948
25010
  });
24949
25011
 
@@ -24951,33 +25013,6 @@
24951
25013
 
24952
25014
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24953
25015
 
24954
- /***/ },
24955
- /* 252 */
24956
- /***/ function(module, exports, __webpack_require__) {
24957
-
24958
- /* WEBPACK VAR INJECTION */(function(React) {var ModalDialogsModule;
24959
-
24960
- ModalDialogsModule = {
24961
- deleteObjs: function(selectedObjs) {
24962
- var objectsToBeDeleted, title;
24963
- if (selectedObjs.length === 1) {
24964
- objectsToBeDeleted = selectedObjs[0].title();
24965
- title = React.createElement("span", null, "Really delete ", React.createElement("q", null, objectsToBeDeleted), "?");
24966
- } else {
24967
- objectsToBeDeleted = "" + selectedObjs.length + " CMS objects";
24968
- title = 'Really delete the selected items?';
24969
- }
24970
- return scrivito.content_browser._showConfirm({
24971
- title: title,
24972
- subtitle: "This will delete " + objectsToBeDeleted + ". Objects that were created in this working copy cannot be restored."
24973
- });
24974
- }
24975
- };
24976
-
24977
- module.exports = ModalDialogsModule;
24978
-
24979
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
24980
-
24981
25016
  /***/ },
24982
25017
  /* 253 */
24983
25018
  /***/ function(module, exports, __webpack_require__) {
@@ -25006,40 +25041,96 @@
25006
25041
 
25007
25042
  /***/ },
25008
25043
  /* 254 */
25009
- /***/ function(module, exports) {
25044
+ /***/ function(module, exports, __webpack_require__) {
25010
25045
 
25011
- var InspectorActionCreator;
25046
+ /* WEBPACK VAR INJECTION */(function(React) {var InspectorHeader, MaximizeInspectorToggle, toggleInspectorMaximized;
25012
25047
 
25013
- InspectorActionCreator = (function() {
25014
- function InspectorActionCreator() {}
25048
+ MaximizeInspectorToggle = __webpack_require__(253);
25015
25049
 
25016
- InspectorActionCreator.MAXIMIZE_TOGGLE = 'MAXIMAZED_INSPECTOR_TOGGLE';
25050
+ toggleInspectorMaximized = __webpack_require__(255).toggleInspectorMaximized;
25017
25051
 
25018
- InspectorActionCreator.toggleInspectorMaximized = function() {
25019
- return {
25020
- type: this.MAXIMIZE_TOGGLE
25021
- };
25022
- };
25052
+ InspectorHeader = scrivito.createReactClass({
25053
+ displayName: 'Inspector',
25054
+ propTypes: {
25055
+ editingView: React.PropTypes.bool.isRequired,
25056
+ disableDelete: React.PropTypes.bool.isRequired,
25057
+ selectedObjs: React.PropTypes.arrayOf(React.PropTypes.string).isRequired,
25058
+ dispatch: React.PropTypes.func.isRequired,
25059
+ deleteInspectedObjs: React.PropTypes.func.isRequired
25060
+ },
25061
+ _getMultiSelectedTitle: function() {
25062
+ return "Selected: " + this.props.selectedObjs.length + " items";
25063
+ },
25064
+ getDetailsClassName: function() {
25065
+ return "scrivito_icon scrivito_icon_eye";
25066
+ },
25067
+ _title: function() {
25068
+ var _ref;
25069
+ if (this.props.selectedObjs.length === 1) {
25070
+ return (_ref = this._getInspectedObj()) != null ? _ref.descriptionForEditor : void 0;
25071
+ } else {
25072
+ return this._getMultiSelectedTitle();
25073
+ }
25074
+ },
25075
+ _getInspectedObj: function() {
25076
+ var id;
25077
+ id = this.props.selectedObjs[0];
25078
+ return scrivito.BasicObj.get(id);
25079
+ },
25080
+ toggleInspectorMaximized: function() {
25081
+ return this.props.dispatch(toggleInspectorMaximized());
25082
+ },
25083
+ render: function() {
25084
+ return React.createElement("h3", {
25085
+ "title": this._title()
25086
+ }, React.createElement(MaximizeInspectorToggle, {
25087
+ "toggleInspectorMaximized": this.toggleInspectorMaximized
25088
+ }), React.createElement("span", {
25089
+ "title": "Details",
25090
+ "className": this.getDetailsClassName()
25091
+ }), React.createElement("span", {
25092
+ "className": "title"
25093
+ }, this._title()), (this.props.editingView && !this.props.disableDelete ? React.createElement("span", {
25094
+ "className": "scrivito_icon scrivito_icon_trash scrivito_delete",
25095
+ "onClick": this.props.deleteInspectedObjs
25096
+ }) : void 0));
25097
+ }
25098
+ });
25023
25099
 
25024
- return InspectorActionCreator;
25100
+ module.exports = InspectorHeader;
25025
25101
 
25026
- })();
25102
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
25103
+
25104
+ /***/ },
25105
+ /* 255 */
25106
+ /***/ function(module, exports) {
25027
25107
 
25028
- module.exports = InspectorActionCreator;
25108
+ var MAXIMIZE_TOGGLE, toggleInspectorMaximized;
25109
+
25110
+ MAXIMIZE_TOGGLE = 'MAXIMAZED_INSPECTOR_TOGGLE';
25111
+
25112
+ toggleInspectorMaximized = function() {
25113
+ return {
25114
+ type: MAXIMIZE_TOGGLE
25115
+ };
25116
+ };
25117
+
25118
+ module.exports = {
25119
+ MAXIMIZE_TOGGLE: MAXIMIZE_TOGGLE,
25120
+ toggleInspectorMaximized: toggleInspectorMaximized
25121
+ };
25029
25122
 
25030
25123
 
25031
25124
  /***/ },
25032
- /* 255 */
25125
+ /* 256 */
25033
25126
  /***/ function(module, exports, __webpack_require__) {
25034
25127
 
25035
- /* WEBPACK VAR INJECTION */(function(React) {var Footer, ModalDialogsModule;
25036
-
25037
- ModalDialogsModule = __webpack_require__(252);
25128
+ /* WEBPACK VAR INJECTION */(function(React) {var Footer;
25038
25129
 
25039
25130
  Footer = React.createClass({
25040
25131
  displayName: 'Footer',
25041
25132
  currentSelectedCount: function() {
25042
- return this.props.objCollection.getSelectedObjs().length;
25133
+ return this.props.selectedObjs.length;
25043
25134
  },
25044
25135
  deleteButtonClass: function() {
25045
25136
  var className;
@@ -25057,13 +25148,16 @@
25057
25148
  }
25058
25149
  },
25059
25150
  doneClick: function() {
25060
- return this.props.promise.resolve(this.props.objCollection.selectedObjsIds());
25151
+ return this.props.promise.resolve(this.props.selectedObjs);
25061
25152
  },
25062
25153
  deleteClick: function() {
25063
- if (this.props.objCollection.getSelectedObjs().length > 0) {
25064
- return ModalDialogsModule.deleteObjs(this.props.objCollection.getSelectedObjs()).then((function(_this) {
25065
- return function() {
25066
- return _this.props.objCollection.destroySelectedObjs();
25154
+ var _ref;
25155
+ if (this.props.selectedObjs.length) {
25156
+ return (_ref = scrivito.ConfirmDeleteDialog).open.apply(_ref, this.props.selectedObjs).then((function(_this) {
25157
+ return function(isConfirmed) {
25158
+ if (isConfirmed) {
25159
+ return _this.props.objCollection.destroyObjs(_this.props.selectedObjs);
25160
+ }
25067
25161
  };
25068
25162
  })(this));
25069
25163
  }
@@ -25079,7 +25173,7 @@
25079
25173
  render: function() {
25080
25174
  return React.createElement("div", {
25081
25175
  "className": "scrivito-content-browser-footer"
25082
- }, (this.props.editingView ? React.createElement("a", {
25176
+ }, (this.props.editingView && !this.props.disableDelete ? React.createElement("a", {
25083
25177
  "className": this.deleteButtonClass(),
25084
25178
  "onClick": this.deleteClick
25085
25179
  }, scrivito.translate("content_browser.footer.delete"), React.createElement("span", {
@@ -25101,7 +25195,7 @@
25101
25195
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
25102
25196
 
25103
25197
  /***/ },
25104
- /* 256 */
25198
+ /* 257 */
25105
25199
  /***/ function(module, exports) {
25106
25200
 
25107
25201
  var LastAddedActionCreator;
@@ -25126,7 +25220,7 @@
25126
25220
 
25127
25221
 
25128
25222
  /***/ },
25129
- /* 257 */
25223
+ /* 258 */
25130
25224
  /***/ function(module, exports, __webpack_require__) {
25131
25225
 
25132
25226
  var CREATE_OBJ_FAILED, CREATE_OBJ_FINISH, CREATE_OBJ_PROGRESS_UPDATE, CREATE_OBJ_START, DELETE_OBJ_FINISH, QueryBuilder, createObj, objDeleted, _createObjFailed, _createObjFinish, _createObjProgressUpdate, _createObjStart, _getTagsAttributes, _hasCorrectTagAttribute;
@@ -25250,16 +25344,16 @@
25250
25344
 
25251
25345
 
25252
25346
  /***/ },
25253
- /* 258 */
25347
+ /* 259 */
25254
25348
  /***/ function(module, exports, __webpack_require__) {
25255
25349
 
25256
25350
  var applyMiddleware, combinedReducer, configureStore, createStore, thunkMiddleware, _ref;
25257
25351
 
25258
- thunkMiddleware = __webpack_require__(259);
25352
+ thunkMiddleware = __webpack_require__(260);
25259
25353
 
25260
25354
  _ref = __webpack_require__(193), createStore = _ref.createStore, applyMiddleware = _ref.applyMiddleware;
25261
25355
 
25262
- combinedReducer = __webpack_require__(260);
25356
+ combinedReducer = __webpack_require__(261);
25263
25357
 
25264
25358
  configureStore = function(initialState) {
25265
25359
  var createStoreWithMiddleware;
@@ -25271,7 +25365,7 @@
25271
25365
 
25272
25366
 
25273
25367
  /***/ },
25274
- /* 259 */
25368
+ /* 260 */
25275
25369
  /***/ function(module, exports) {
25276
25370
 
25277
25371
  'use strict';
@@ -25290,41 +25384,46 @@
25290
25384
  module.exports = thunkMiddleware;
25291
25385
 
25292
25386
  /***/ },
25293
- /* 260 */
25387
+ /* 261 */
25294
25388
  /***/ function(module, exports, __webpack_require__) {
25295
25389
 
25296
- var Redux, TagsReducer, combinedReducer, inspectorReducer, lastAddedReducer, objDisplayReducer, sortCriteria;
25390
+ var Redux, TagsReducer, combinedReducer, inspectorReducer, lastAddedReducer, objDisplayReducer, selectionReducer, sortCriteria;
25297
25391
 
25298
25392
  Redux = __webpack_require__(193);
25299
25393
 
25300
- inspectorReducer = __webpack_require__(261);
25394
+ inspectorReducer = __webpack_require__(262);
25301
25395
 
25302
- lastAddedReducer = __webpack_require__(262);
25396
+ lastAddedReducer = __webpack_require__(263);
25303
25397
 
25304
- objDisplayReducer = __webpack_require__(265);
25398
+ objDisplayReducer = __webpack_require__(266);
25305
25399
 
25306
- sortCriteria = __webpack_require__(266);
25400
+ sortCriteria = __webpack_require__(267);
25307
25401
 
25308
- TagsReducer = __webpack_require__(267);
25402
+ TagsReducer = __webpack_require__(268);
25403
+
25404
+ selectionReducer = __webpack_require__(269);
25309
25405
 
25310
25406
  combinedReducer = Redux.combineReducers({
25311
25407
  objDisplay: objDisplayReducer,
25312
25408
  inspector: inspectorReducer,
25313
25409
  lastAdded: lastAddedReducer,
25314
25410
  sortCriteria: sortCriteria,
25315
- tags: TagsReducer
25411
+ tags: TagsReducer,
25412
+ selection: selectionReducer
25316
25413
  });
25317
25414
 
25318
25415
  module.exports = combinedReducer;
25319
25416
 
25320
25417
 
25321
25418
  /***/ },
25322
- /* 261 */
25419
+ /* 262 */
25323
25420
  /***/ function(module, exports, __webpack_require__) {
25324
25421
 
25325
- var inspectorActions, inspectorReducer;
25422
+ var DELETE_OBJ_FINISH, MAXIMIZE_TOGGLE, inspectorReducer;
25423
+
25424
+ MAXIMIZE_TOGGLE = __webpack_require__(255).MAXIMIZE_TOGGLE;
25326
25425
 
25327
- inspectorActions = __webpack_require__(254);
25426
+ DELETE_OBJ_FINISH = __webpack_require__(258).DELETE_OBJ_FINISH;
25328
25427
 
25329
25428
  inspectorReducer = function(state, action) {
25330
25429
  if (state == null) {
@@ -25333,10 +25432,14 @@
25333
25432
  };
25334
25433
  }
25335
25434
  switch (action.type) {
25336
- case inspectorActions.MAXIMIZE_TOGGLE:
25435
+ case MAXIMIZE_TOGGLE:
25337
25436
  return _.extend({}, state, {
25338
25437
  isMaximized: !state.isMaximized
25339
25438
  });
25439
+ case DELETE_OBJ_FINISH:
25440
+ return _.extend({}, state, {
25441
+ isMaximized: false
25442
+ });
25340
25443
  default:
25341
25444
  return state;
25342
25445
  }
@@ -25346,16 +25449,16 @@
25346
25449
 
25347
25450
 
25348
25451
  /***/ },
25349
- /* 262 */
25452
+ /* 263 */
25350
25453
  /***/ function(module, exports, __webpack_require__) {
25351
25454
 
25352
25455
  var CREATE_OBJ_FAILED, CREATE_OBJ_FINISH, CREATE_OBJ_PROGRESS_UPDATE, CREATE_OBJ_START, DELETE_OBJ_FINISH, LAST_ADDED_TOOGLE, LastAddedReducer, deleteAdition, update, updateAddition, _ref;
25353
25456
 
25354
- LAST_ADDED_TOOGLE = __webpack_require__(256).LAST_ADDED_TOOGLE;
25457
+ LAST_ADDED_TOOGLE = __webpack_require__(257).LAST_ADDED_TOOGLE;
25355
25458
 
25356
- _ref = __webpack_require__(257), CREATE_OBJ_START = _ref.CREATE_OBJ_START, CREATE_OBJ_PROGRESS_UPDATE = _ref.CREATE_OBJ_PROGRESS_UPDATE, CREATE_OBJ_FINISH = _ref.CREATE_OBJ_FINISH, CREATE_OBJ_FAILED = _ref.CREATE_OBJ_FAILED, DELETE_OBJ_FINISH = _ref.DELETE_OBJ_FINISH;
25459
+ _ref = __webpack_require__(258), CREATE_OBJ_START = _ref.CREATE_OBJ_START, CREATE_OBJ_PROGRESS_UPDATE = _ref.CREATE_OBJ_PROGRESS_UPDATE, CREATE_OBJ_FINISH = _ref.CREATE_OBJ_FINISH, CREATE_OBJ_FAILED = _ref.CREATE_OBJ_FAILED, DELETE_OBJ_FINISH = _ref.DELETE_OBJ_FINISH;
25357
25460
 
25358
- update = __webpack_require__(263);
25461
+ update = __webpack_require__(264);
25359
25462
 
25360
25463
  deleteAdition = function(state, objId) {
25361
25464
  var addedObjIndex;
@@ -25439,13 +25542,13 @@
25439
25542
 
25440
25543
 
25441
25544
  /***/ },
25442
- /* 263 */
25545
+ /* 264 */
25443
25546
  /***/ function(module, exports, __webpack_require__) {
25444
25547
 
25445
- module.exports = __webpack_require__(264);
25548
+ module.exports = __webpack_require__(265);
25446
25549
 
25447
25550
  /***/ },
25448
- /* 264 */
25551
+ /* 265 */
25449
25552
  /***/ function(module, exports, __webpack_require__) {
25450
25553
 
25451
25554
  /**
@@ -25558,7 +25661,7 @@
25558
25661
  module.exports = update;
25559
25662
 
25560
25663
  /***/ },
25561
- /* 265 */
25664
+ /* 266 */
25562
25665
  /***/ function(module, exports, __webpack_require__) {
25563
25666
 
25564
25667
  var SET_VIEW_MODE, THUMBNAIL_VIEW, objDisplayReducer, _ref;
@@ -25585,7 +25688,7 @@
25585
25688
 
25586
25689
 
25587
25690
  /***/ },
25588
- /* 266 */
25691
+ /* 267 */
25589
25692
  /***/ function(module, exports, __webpack_require__) {
25590
25693
 
25591
25694
  var CHANGE_SORT_ORDER, DESC_SORT_ORDER, sortCriteriaReducer, _ref;
@@ -25595,7 +25698,7 @@
25595
25698
  sortCriteriaReducer = function(state, action) {
25596
25699
  if (state == null) {
25597
25700
  state = {
25598
- sortField: '_last_changed',
25701
+ sortField: 'relevance',
25599
25702
  sortDirection: DESC_SORT_ORDER
25600
25703
  };
25601
25704
  }
@@ -25614,12 +25717,12 @@
25614
25717
 
25615
25718
 
25616
25719
  /***/ },
25617
- /* 267 */
25720
+ /* 268 */
25618
25721
  /***/ function(module, exports, __webpack_require__) {
25619
25722
 
25620
25723
  var COMPLETE_FETCHING_TAGS, DISABLE_TAGS, EXPAND_TOGGLE, START_FETCHING_TAGS, TOGGLE_TAG, TagsReducer, defaultState, getActiveTags, _ref;
25621
25724
 
25622
- _ref = __webpack_require__(249), START_FETCHING_TAGS = _ref.START_FETCHING_TAGS, EXPAND_TOGGLE = _ref.EXPAND_TOGGLE, TOGGLE_TAG = _ref.TOGGLE_TAG, COMPLETE_FETCHING_TAGS = _ref.COMPLETE_FETCHING_TAGS, DISABLE_TAGS = _ref.DISABLE_TAGS;
25725
+ _ref = __webpack_require__(250), START_FETCHING_TAGS = _ref.START_FETCHING_TAGS, EXPAND_TOGGLE = _ref.EXPAND_TOGGLE, TOGGLE_TAG = _ref.TOGGLE_TAG, COMPLETE_FETCHING_TAGS = _ref.COMPLETE_FETCHING_TAGS, DISABLE_TAGS = _ref.DISABLE_TAGS;
25623
25726
 
25624
25727
  getActiveTags = function(currentActiveTags, actionTag) {
25625
25728
  var activeTags;
@@ -25671,5 +25774,57 @@
25671
25774
  module.exports = TagsReducer;
25672
25775
 
25673
25776
 
25777
+ /***/ },
25778
+ /* 269 */
25779
+ /***/ function(module, exports, __webpack_require__) {
25780
+
25781
+ var DELETE_OBJ_FINISH, DESELECT_OBJS, INITIALIZE_SELECTION, MULTI_SELECTION_MODE, TOGGLE_SELECT, getSelectedObjIds, selectionReducer, _ref;
25782
+
25783
+ _ref = __webpack_require__(231), TOGGLE_SELECT = _ref.TOGGLE_SELECT, DESELECT_OBJS = _ref.DESELECT_OBJS, INITIALIZE_SELECTION = _ref.INITIALIZE_SELECTION, MULTI_SELECTION_MODE = _ref.MULTI_SELECTION_MODE;
25784
+
25785
+ DELETE_OBJ_FINISH = __webpack_require__(258).DELETE_OBJ_FINISH;
25786
+
25787
+ getSelectedObjIds = function(ids, toggledObjId, mode) {
25788
+ if (_.contains(ids, toggledObjId)) {
25789
+ return _.without(ids, toggledObjId);
25790
+ } else if (mode === "multi") {
25791
+ return ids.concat([toggledObjId]);
25792
+ } else {
25793
+ return [toggledObjId];
25794
+ }
25795
+ };
25796
+
25797
+ selectionReducer = function(state, action) {
25798
+ if (state == null) {
25799
+ state = {
25800
+ selectedObjs: [],
25801
+ selectionMode: MULTI_SELECTION_MODE
25802
+ };
25803
+ }
25804
+ switch (action.type) {
25805
+ case INITIALIZE_SELECTION:
25806
+ return _.extend({}, state, {
25807
+ selectionMode: action.mode || state.selectionMode
25808
+ });
25809
+ case TOGGLE_SELECT:
25810
+ return _.extend({}, state, {
25811
+ selectedObjs: getSelectedObjIds(state.selectedObjs, action.objId, state.selectionMode)
25812
+ });
25813
+ case DELETE_OBJ_FINISH:
25814
+ return _.extend({}, state, {
25815
+ selectedObjs: _.without(state.selectedObjs, action.objId)
25816
+ });
25817
+ case DESELECT_OBJS:
25818
+ return _.extend({}, state, {
25819
+ selectedObjs: []
25820
+ });
25821
+ default:
25822
+ return state;
25823
+ }
25824
+ };
25825
+
25826
+ module.exports = selectionReducer;
25827
+
25828
+
25674
25829
  /***/ }
25675
25830
  /******/ ]);