girder-large-image 1.22.1.dev3__tar.gz → 1.22.1.dev7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/PKG-INFO +1 -1
  2. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/itemList.styl +3 -0
  3. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/itemList.pug +8 -5
  4. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/itemList.js +37 -1
  5. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/PKG-INFO +1 -1
  6. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/requires.txt +2 -2
  7. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/LICENSE +0 -0
  8. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/README.rst +0 -0
  9. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/__init__.py +0 -0
  10. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/constants.py +0 -0
  11. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/girder_tilesource.py +0 -0
  12. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/loadmodelcache.py +0 -0
  13. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/models/__init__.py +0 -0
  14. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/models/image_item.py +0 -0
  15. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/rest/__init__.py +0 -0
  16. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/rest/large_image_resource.py +0 -0
  17. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/rest/tiles.py +0 -0
  18. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/eventStream.js +0 -0
  19. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/extra/.gitignore +0 -0
  20. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/index.js +0 -0
  21. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/main.js +0 -0
  22. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/package.json +0 -0
  23. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/routes.js +0 -0
  24. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/fileList.styl +0 -0
  25. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/imageViewerSelectWidget.styl +0 -0
  26. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/itemView.styl +0 -0
  27. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/itemViewCodemirror.styl +0 -0
  28. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/stylesheets/largeImageConfig.styl +0 -0
  29. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/imageViewerSelectWidget.pug +0 -0
  30. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/itemView.pug +0 -0
  31. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/itemViewCodemirror.pug +0 -0
  32. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/largeImageConfig.pug +0 -0
  33. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/templates/largeImage_fileAction.pug +0 -0
  34. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/configView.js +0 -0
  35. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/fileList.js +0 -0
  36. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerSelectWidget.js +0 -0
  37. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/base.js +0 -0
  38. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/geojs.js +0 -0
  39. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/index.js +0 -0
  40. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/leaflet.js +0 -0
  41. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/openlayers.js +0 -0
  42. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/openseadragon.js +0 -0
  43. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/setFrameQuad.js +0 -0
  44. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/imageViewerWidget/slideatlas.js +0 -0
  45. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/index.js +0 -0
  46. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/itemView.js +0 -0
  47. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/itemViewCodemirror.js +0 -0
  48. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/views/itemViewWidget.js +0 -0
  49. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/vue/colors.js +0 -0
  50. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/vue/components/CompositeLayers.vue +0 -0
  51. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/vue/components/DualInput.vue +0 -0
  52. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/vue/components/FrameSelector.vue +0 -0
  53. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image/web_client/webpack.helper.js +0 -0
  54. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/SOURCES.txt +0 -0
  55. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/dependency_links.txt +0 -0
  56. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/entry_points.txt +0 -0
  57. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/not-zip-safe +0 -0
  58. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/girder_large_image.egg-info/top_level.txt +0 -0
  59. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/setup.cfg +0 -0
  60. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/setup.py +0 -0
  61. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/__init__.py +0 -0
  62. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/conftest.py +0 -0
  63. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/girder_utilities.py +0 -0
  64. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/test_large_image.py +0 -0
  65. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/test_tiles_rest.py +0 -0
  66. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/test_web_client.py +0 -0
  67. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/web_client_specs/.eslintrc +0 -0
  68. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/web_client_specs/imageViewerSpec.js +0 -0
  69. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/web_client_specs/largeImageSpec.js +0 -0
  70. {girder-large-image-1.22.1.dev3 → girder-large-image-1.22.1.dev7}/test_girder/web_client_specs/otherFeatures.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-large-image
3
- Version: 1.22.1.dev3
3
+ Version: 1.22.1.dev7
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -104,3 +104,6 @@ ul.g-item-list
104
104
  label
105
105
  padding-left 5px
106
106
  font-weight normal
107
+
108
+ .li-item-list-filter-clear
109
+ cursor pointer
@@ -46,13 +46,16 @@ ul.g-item-list.li-item-list
46
46
  - var imageName = column.value === 'thumbnail' ? column.value : `images/${column.value}`;
47
47
  img.waiting(deferred-src=`${apiRoot}/item/${item.id}/tiles/${imageName}?width=${column.width || 160}&height=${column.height || 100}`)
48
48
  else if column.type === 'metadata'
49
+ -
50
+ let value = item.get('meta') || {}
51
+ column.value.split('.').forEach((part) => {
52
+ value = (value || {})[part];
53
+ })
49
54
  span.large_image_metadata
50
- -
51
- let value = item.get('meta') || {}
52
- column.value.split('.').forEach((part) => {
53
- value = (value || {})[part];
54
- })
55
55
  = value
56
+ if value
57
+ span.li-item-list-cell-filter(title="Only show items that match this metadata value exactly", filter-value=value, column-value=column.value)
58
+ i.icon-filter
56
59
  if (hasMore && !paginated)
57
60
  li.g-show-more
58
61
  a.g-show-more-items
@@ -87,6 +87,7 @@ wrap(ItemListWidget, 'initialize', function (initialize, settings) {
87
87
  this.render();
88
88
  });
89
89
  this.events['click .li-item-list-header.sortable'] = (evt) => sortColumn.call(this, evt);
90
+ this.events['click .li-item-list-cell-filter'] = (evt) => itemListCellFilter.call(this, evt);
90
91
  this.delegateEvents();
91
92
  this.setFlatten = (flatten) => {
92
93
  if (!!flatten !== !!this._recurse) {
@@ -219,6 +220,12 @@ wrap(ItemListWidget, 'render', function (render) {
219
220
  addToRoute({filter: this._generalFilter});
220
221
  };
221
222
 
223
+ this._clearFilter = (evt) => {
224
+ this._generalFilter = '';
225
+ this._setFilter();
226
+ addToRoute({filter: this._generalFilter});
227
+ };
228
+
222
229
  this._unescapePhrase = (val) => {
223
230
  if (val !== undefined) {
224
231
  val = val.replace('\\\'', '\'').replace('\\"', '"').replace('\\\\', '\\');
@@ -292,6 +299,9 @@ wrap(ItemListWidget, 'render', function (render) {
292
299
  }
293
300
  if (key && exact) {
294
301
  clause.push({[key]: {$regex: '^' + phrase + '$', $options: 'i'}});
302
+ if (!_.isNaN(numval)) {
303
+ clause.push({[key]: {$eq: numval}});
304
+ }
295
305
  } else if (key) {
296
306
  clause.push({[key]: {$regex: phrase, $options: 'i'}});
297
307
  if (!_.isNaN(numval)) {
@@ -352,12 +362,18 @@ wrap(ItemListWidget, 'render', function (render) {
352
362
  'Column and value names can be quoted to include spaces (single quotes for substring match, double quotes for exact value match). ' +
353
363
  'If <column>:-<value1>[,<value2>...] is specified, matches will exclude the list of values. ' +
354
364
  'Non-exact matches without a column specifier will also match columns that start with the specified value. ' +
355
- '"></input></span>');
365
+ '"></input>' +
366
+ '<span class="li-item-list-filter-clear"><i class="icon-cancel"></i></span>' +
367
+ '</span>');
356
368
  if (this._generalFilter) {
357
369
  root.find('.li-item-list-filter-input').val(this._generalFilter);
358
370
  }
359
371
  this.parentView.events['change .li-item-list-filter-input'] = this._updateFilter;
360
372
  this.parentView.events['input .li-item-list-filter-input'] = this._updateFilter;
373
+ this.parentView.events['click .li-item-list-filter-clear'] = (evt) => {
374
+ this.parentView.$el.find('.li-item-list-filter-input').val('');
375
+ this._clearFilter();
376
+ };
361
377
  this.parentView.delegateEvents();
362
378
  }
363
379
  }
@@ -481,4 +497,24 @@ function sortColumn(evt) {
481
497
  }
482
498
  }
483
499
 
500
+ function itemListCellFilter(evt) {
501
+ evt.preventDefault();
502
+ const cell = $(evt.target).closest('.li-item-list-cell-filter');
503
+ let filter = this._generalFilter || '';
504
+ let val = cell.attr('filter-value');
505
+ let col = cell.attr('column-value');
506
+ if (/[ '\\]/.exec(col)) {
507
+ col = "'" + col.replace('\\', '\\\\').replace("'", "\\'") + "'";
508
+ }
509
+ val = val.replace('\\', '\\\\').replace('"', '\\"');
510
+ filter += ` ${col}:"${val}"`;
511
+ filter = filter.trim();
512
+ this.$el.closest('.g-hierarchy-widget').find('.li-item-list-filter-input').val(filter);
513
+ this._generalFilter = filter;
514
+ this._setFilter();
515
+ addToRoute({filter: this._generalFilter});
516
+ this._setSort();
517
+ return false;
518
+ }
519
+
484
520
  export default ItemListWidget;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-large-image
3
- Version: 1.22.1.dev3
3
+ Version: 1.22.1.dev7
4
4
  Summary: A Girder plugin to work with large, multiresolution images.
5
5
  Home-page: https://github.com/girder/large_image
6
6
  Author: Kitware, Inc.
@@ -1,10 +1,10 @@
1
1
  girder>=3.1.18
2
2
  girder-jobs>=3.0.3
3
- large_image>=1.22.1.dev3
3
+ large_image>=1.22.1.dev7
4
4
 
5
5
  [:python_version < "3.8"]
6
6
  importlib-metadata<5
7
7
 
8
8
  [tasks]
9
- large-image-tasks[girder]>=1.22.1.dev3
9
+ large-image-tasks[girder]>=1.22.1.dev7
10
10
  girder-worker[girder]>=0.6.0