vhx-quartz 0.10.2 → 0.10.3

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: db39b7019ef57a978493c304c8b6ce1af64fc0c4
4
- data.tar.gz: 225d90078555018c979b35780dc3d9794f4079ef
3
+ metadata.gz: bd6f9343107741c8ebd62ed965387916cc8ccfaf
4
+ data.tar.gz: 5129ab653f0ab685d1a2c56fa8a1009c40a63c5d
5
5
  SHA512:
6
- metadata.gz: 464844b4d3c988e83f5bd2d864faf2cd127f5f90b929ac5631320d0e9148048ea5fa0f6c9839024168fd0299800d3487a6cd821aae36b07e6efbe3b98cfe550c
7
- data.tar.gz: 3a00a545ff5cc79bb1ef4ab19fc9170078135b17c2eed93344accd332b2c0770a1431e52340f9e996d45a9f6e1d3cc26e15a7830b672bbdb3666f8e964bb997a
6
+ metadata.gz: c9e31dbd39de48aab359b98245bdebc39b42a90ecaaaa1b14939a2a0c91086b99b33d5d99b4673309e61456f45869d38564ec957b3cce24261dd6d846f173577
7
+ data.tar.gz: f84b6d07349bc04fb178e79e67d98ba753c129171a94650c5bb62db279a6000c7c9bbde82c15f9d4070abfbef39561e0d03892eeb5fd78130d3e72f8c99c47f2
@@ -1,5 +1,5 @@
1
1
  module Vhx
2
2
  module Quartz
3
- VERSION = "0.10.2"
3
+ VERSION = "0.10.3"
4
4
  end
5
5
  end
@@ -10,7 +10,8 @@ vhxm.components.shared.select.controller = function (opts) {
10
10
 
11
11
  self.type = opts.type || 'standard';
12
12
  self.multiselect = opts.multiselect || false;
13
- self.caret_position = opts.caret_position || 'right';
13
+ self.caret = opts.caret || 'right';
14
+ self.position = opts.position || 'bottom';
14
15
  self.model.items = opts.items;
15
16
 
16
17
  if (opts.selected) {
@@ -19,6 +20,9 @@ vhxm.components.shared.select.controller = function (opts) {
19
20
  });
20
21
  }
21
22
 
23
+ if (opts.isProcessing) {
24
+ self.state.isProcessing = opts.isProcessing;
25
+ }
22
26
  if (opts.onSelect) {
23
27
  self.state.onSelect = opts.onSelect;
24
28
  }
@@ -44,13 +48,11 @@ vhxm.components.shared.select.controller = function (opts) {
44
48
  var selected = opts.placeholder ? opts.placeholder : 'Select...';
45
49
 
46
50
  if (self.state.selected()) {
47
- self.model.items().map(function (item) {
48
- if (self.state.selected()[item[opts.prop_map.key]]) {
49
- selected = self.state.selected()[item[opts.prop_map.key]].label;
50
- }
51
- });
52
51
  if (Object.keys(self.state.selected()).length > 1) {
53
52
  selected = 'Multiple items selected';
53
+ } else {
54
+ var key = Object.keys(self.state.selected())[0];
55
+ selected = self.state.selected()[key].label;
54
56
  }
55
57
  }
56
58
 
@@ -99,6 +101,11 @@ vhxm.components.shared.select.controller = function (opts) {
99
101
 
100
102
  self.selectItem = function (item, isInit) {
101
103
  var selected = void 0;
104
+ var obj = {
105
+ value: item[opts.prop_map.value],
106
+ label: item[opts.prop_map.label]
107
+ };
108
+
102
109
  if (!self.multiselect) {
103
110
  self.state.selected({});
104
111
  }
@@ -107,12 +114,8 @@ vhxm.components.shared.select.controller = function (opts) {
107
114
 
108
115
  if (selected[item[opts.prop_map.key]]) {
109
116
  delete selected[item[opts.prop_map.key]];
110
- self.state.onSelect(null, self.state.selected(), 'removed');
117
+ self.state.onSelect(obj, self.state.selected(), 'removed');
111
118
  } else {
112
- var obj = {
113
- value: item[opts.prop_map.value],
114
- label: item[opts.prop_map.label]
115
- };
116
119
  selected[item[opts.prop_map.key]] = obj;
117
120
  self.state.onSelect(obj, self.state.selected(), 'added');
118
121
  }
@@ -194,6 +197,7 @@ vhxm.components.shared.select.state = function () {
194
197
  this.searchInputValue = m.prop('');
195
198
  this.footerLoading = m.prop(false);
196
199
  this.focusInput = m.prop(true);
200
+ this.isProcessing = m.prop([]);
197
201
  this.onSelect = function () {};
198
202
  this.onAction = function (done) {
199
203
  done();
@@ -210,7 +214,7 @@ vhxm.components.shared.select.ui.container = {
210
214
  options += opts.trigger ? '.has-trigger' : '';
211
215
  options += opts.type === 'media' ? '.has-media' : '';
212
216
  options += opts.inline ? '.inline' : '';
213
- options += '.caret--' + ctrl.caret_position;
217
+ options += '.caret--' + (ctrl.position === 'top' ? 'bottom' : 'top') + '-' + ctrl.caret;
214
218
 
215
219
  if (opts.trigger) {
216
220
  opts.trigger.attrs.onclick = ctrl.handleClick;
@@ -225,7 +229,13 @@ vhxm.components.shared.select.ui.container = {
225
229
  }, [opts.trigger ? opts.trigger : m('a.c-select--trigger.btn-dropdown-' + (opts.color ? opts.color : 'gray') + '.btn--fill' + (ctrl.state.isDropdownOpen() ? '.is-active' : ''), {
226
230
  href: '#',
227
231
  onclick: ctrl.handleClick
228
- }, ctrl.selectedLabel()), m('.c-select--dropdown.bg-white.border.radius.fill-width' + (ctrl.state.isDropdownOpen() ? '.is-open' : ''), [opts.search ?
232
+ }, ctrl.selectedLabel()), m('.c-select--dropdown.bg-white.border.radius.fill-width' + (ctrl.state.isDropdownOpen() ? '.is-open' : ''), {
233
+ config: function config(el) {
234
+ if (ctrl.position === 'top') {
235
+ el.style.top = -(el.offsetHeight + 10) + 'px';
236
+ }
237
+ }
238
+ }, [opts.search ?
229
239
  // if search is enabled
230
240
  m('.c-select--input-container.padding-medium.absolute.bg-white.fill-width.radius', [m.component(vhxm.components.shared.search_input.ui.container, {
231
241
  config: function config(el, init) {
@@ -250,7 +260,7 @@ vhxm.components.shared.select.ui.container = {
250
260
  m('.c-select--footer.border-top', [m('a.btn-teal.btn--fill' + (ctrl.state.footerLoading() ? '.is-loading' : ''), {
251
261
  onclick: ctrl.handleAction,
252
262
  href: '#'
253
- }, opts.action + (ctrl.state.searchInputValue().length ? ' \'' + ctrl.state.searchInputValue() + '\'' : ''))]) : '', m('span.c-select--caret')])]);
263
+ }, opts.action + (ctrl.state.searchInputValue().length ? ' \'' + ctrl.state.searchInputValue() + '\'' : ''))]) : ''])]);
254
264
  }
255
265
  };
256
266
 
@@ -278,7 +288,7 @@ vhxm.components.shared.select.ui.item_media = {
278
288
  src: item[opts.prop_map.img],
279
289
  width: 70,
280
290
  height: 40
281
- })]), m('.c-media-item--content.clearfix.left', [m('p.text--navy', item[opts.prop_map.label]), m('p.text--gray', item[opts.prop_map.descriptor])]), ctrl.parent.multiselect ? m('.c-media-item--action.clearfix.right', [m('.c-item-toggle.icon--xsmall.icon-check-navy.border' + (ctrl.state.selected() && ctrl.state.selected()[item[opts.prop_map.key]] ? '.is-selected.icon-check-navy' : '.icon-plus-thin-white'))]) : '']);
291
+ })]), m('.c-media-item--content.clearfix.left', [m('p.text--navy', item[opts.prop_map.label]), m('p.text--gray', item[opts.prop_map.descriptor])]), ctrl.parent.multiselect ? m('.c-media-item--action.clearfix.right', [ctrl.state.isProcessing().indexOf(item[opts.prop_map.value]) >= 0 ? m('.c-item-toggle.loader-white.loader--small') : m('.c-item-toggle.icon--xsmall.icon-check-navy.border' + (ctrl.state.selected() && ctrl.state.selected()[item[opts.prop_map.key]] ? '.is-selected.icon-check-navy' : '.icon-plus-thin-white'))]) : '']);
282
292
  }
283
293
  };
284
294
 
@@ -5,6 +5,9 @@ vhxm.components.shared.tag.controller = function (opts) {
5
5
 
6
6
  self.state = new vhxm.components.shared.tag.state();
7
7
 
8
+ if (opts.isProcessing) {
9
+ self.state.isProcessing = opts.isProcessing;
10
+ }
8
11
  if (opts.onShow) {
9
12
  self.state.onShow = opts.onShow;
10
13
  }
@@ -15,6 +18,7 @@ vhxm.components.shared.tag.controller = function (opts) {
15
18
  vhxm.components.shared.tag.state = function () {
16
19
  this.isHover = m.prop(false);
17
20
  this.isRemoveHover = m.prop(false);
21
+ this.isProcessing = m.prop(false);
18
22
  this.onShow = function () {};
19
23
  this.onRemove = function () {};
20
24
  };
@@ -29,7 +33,7 @@ vhxm.components.shared.tag.ui.container = {
29
33
  onmouseout: function onmouseout() {
30
34
  ctrl.state.isHover(false);
31
35
  }
32
- }, [m('button.c-tag--button' + (ctrl.state.isHover() ? '.btn-teal.is-hover' : '.btn-gray'), {
36
+ }, [m('button.c-tag--button' + (ctrl.state.isHover() ? '.btn-teal.is-hover' : '.btn-gray') + (ctrl.state.isProcessing() ? '.is-processing' : ''), {
33
37
  onclick: function onclick(event) {
34
38
  event.preventDefault();
35
39
  ctrl.state.onShow(event);
@@ -33,16 +33,10 @@
33
33
  min-height: 150px; }
34
34
  .c-select--container.has-search .c-select--options {
35
35
  margin-top: 80px; }
36
- .c-select--container.caret--left .c-select--caret {
37
- left: 22px; }
38
- .c-select--container.caret--center .c-select--caret {
39
- left: 50%; }
40
- .c-select--container.caret--right .c-select--caret {
41
- right: 22px; }
42
36
 
43
37
  .c-select--dropdown {
44
38
  position: absolute;
45
- max-height: 282px;
39
+ max-height: 323px;
46
40
  top: 55px;
47
41
  left: 0;
48
42
  z-index: 2147483600;
@@ -50,27 +44,71 @@
50
44
  .c-select--dropdown.is-open {
51
45
  display: block; }
52
46
 
53
- .c-select--caret {
47
+ .c-select--dropdown:after, .c-select--dropdown:before {
54
48
  border: solid transparent;
55
- border-color: rgba(255, 255, 255, 0);
56
- border-bottom-color: #D7DDE1;
57
- border-width: 10px;
58
- margin-right: -11px;
59
- bottom: 100%;
60
- right: 22px;
49
+ content: " ";
61
50
  height: 0;
62
51
  width: 0;
63
52
  position: absolute;
64
53
  pointer-events: none; }
65
- .c-select--caret:before {
66
- position: absolute;
67
- bottom: -10px;
68
- right: -9px;
69
- content: ' ';
70
- display: block;
71
- border: solid transparent;
72
- border-bottom-color: #ffffff;
73
- border-width: 9px; }
54
+ .c-select--dropdown:after {
55
+ border-color: rgba(255, 255, 255, 0);
56
+ border-width: 10px;
57
+ z-index: 0; }
58
+ .c-select--dropdown:before {
59
+ border: solid transparent;
60
+ border-width: 9px;
61
+ z-index: 1; }
62
+
63
+ .caret--bottom-center .c-select--dropdown:after, .caret--bottom-center .c-select--dropdown:before {
64
+ top: 100%;
65
+ left: 50%; }
66
+
67
+ .caret--bottom-left .c-select--dropdown:after, .caret--bottom-left .c-select--dropdown:before {
68
+ top: 100%;
69
+ left: 22px; }
70
+
71
+ .caret--bottom-right .c-select--dropdown:after, .caret--bottom-right .c-select--dropdown:before {
72
+ top: 100%;
73
+ right: 22px; }
74
+ .caret--bottom-right .c-select--dropdown:before {
75
+ right: 23px; }
76
+
77
+ .caret--bottom-right .c-select--dropdown:after,
78
+ .caret--bottom-left .c-select--dropdown:after,
79
+ .caret--bottom-center .c-select--dropdown:after {
80
+ border-top-color: #D7DDE1;
81
+ margin-left: -11px; }
82
+ .caret--bottom-right .c-select--dropdown:before,
83
+ .caret--bottom-left .c-select--dropdown:before,
84
+ .caret--bottom-center .c-select--dropdown:before {
85
+ border-top-color: #ffffff;
86
+ margin-left: -10px; }
87
+
88
+ .caret--top-center .c-select--dropdown:after, .caret--top-center .c-select--dropdown:before {
89
+ bottom: 100%;
90
+ left: 50%; }
91
+
92
+ .caret--top-left .c-select--dropdown:after, .caret--top-left .c-select--dropdown:before {
93
+ bottom: 100%;
94
+ left: 22px; }
95
+
96
+ .caret--top-right .c-select--dropdown:after, .caret--top-right .c-select--dropdown:before {
97
+ bottom: 100%;
98
+ right: 22px; }
99
+ .caret--top-right .c-select--dropdown:before {
100
+ right: 23px; }
101
+
102
+ .caret--top-right .c-select--dropdown:after,
103
+ .caret--top-left .c-select--dropdown:after,
104
+ .caret--top-center .c-select--dropdown:after {
105
+ border-bottom-color: #D7DDE1;
106
+ margin-left: -11px; }
107
+ .caret--top-right .c-select--dropdown:before,
108
+ .caret--top-left .c-select--dropdown:before,
109
+ .caret--top-center .c-select--dropdown:before {
110
+ border-bottom-color: #ffffff;
111
+ margin-left: -10px; }
74
112
 
75
113
  .c-select--input-container {
76
114
  z-index: 2;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vhx-quartz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Robertson, Courtney Burton, Steven Bone, David Gonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-17 00:00:00.000000000 Z
11
+ date: 2016-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties