@itfin/components 1.3.11 → 1.3.12

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itfin/components",
3
- "version": "1.3.11",
3
+ "version": "1.3.12",
4
4
  "author": "Vitalii Savchuk <esvit666@gmail.com>",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -200,6 +200,15 @@ class itfEditor extends Vue {
200
200
  minHeight: this.readonly ? 10 : 100,
201
201
  placeholder: this.$t('workflows.clickToEdit'),
202
202
 
203
+ onReady: () => {
204
+ if (!this.readonly) {
205
+ return;
206
+ }
207
+ const links = document.querySelectorAll('.codex-editor a');
208
+ for (const link of links) {
209
+ link.setAttribute('target', '_blank');
210
+ }
211
+ },
203
212
  onChange: async (api, event) => {
204
213
  if (!this.editor.save || this.readonly) {
205
214
  return;
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="512" height="512">
2
+ <path d="M5.972,22.285a1,1,0,0,1-.515-1.857C9,18.3,9,13.73,9,11a3,3,0,0,1,6,0,1,1,0,0,1-2,0,1,1,0,0,0-2,0c0,2.947,0,8.434-4.514,11.143A1,1,0,0,1,5.972,22.285Zm4.963,1.421c2.282-2.3,3.615-5.534,3.961-9.621A1,1,0,0,0,13.985,13a.983.983,0,0,0-1.081.911c-.311,3.657-1.419,6.4-3.388,8.381a1,1,0,0,0,1.419,1.41Zm5.2-.186a17.793,17.793,0,0,0,1.508-3.181,1,1,0,0,0-1.881-.678,15.854,15.854,0,0,1-1.338,2.821,1,1,0,0,0,1.711,1.038ZM18.5,17.191A31.459,31.459,0,0,0,19,11,7,7,0,0,0,6.787,6.333,1,1,0,1,0,8.276,7.667,5,5,0,0,1,17,11a29.686,29.686,0,0,1-.462,5.809,1,1,0,0,0,.79,1.172.979.979,0,0,0,.193.019A1,1,0,0,0,18.5,17.191ZM7,11a5,5,0,0,1,.069-.833A1,1,0,1,0,5.1,9.833,6.971,6.971,0,0,0,5,11c0,4.645-1.346,7-4,7a1,1,0,0,0,0,2C4.869,20,7,16.8,7,11ZM20.7,23.414A29.76,29.76,0,0,0,23,11a10.865,10.865,0,0,0-1.1-4.794,1,1,0,1,0-1.8.875A8.9,8.9,0,0,1,21,11a27.91,27.91,0,0,1-2.119,11.586,1,1,0,0,0,.5,1.324.984.984,0,0,0,.413.09A1,1,0,0,0,20.7,23.414ZM3,14V11a9.01,9.01,0,0,1,9-9,8.911,8.911,0,0,1,5.4,1.8,1,1,0,0,0,1.2-1.6A10.9,10.9,0,0,0,12,0,11.013,11.013,0,0,0,1,11v3a1,1,0,0,0,2,0Z"/>
3
+ </svg>
@@ -1,26 +1,17 @@
1
1
  <template>
2
2
 
3
3
  <div class="itf-slider">
4
- <button @click="$refs.slider.next()">nxet</button>
5
4
  <flicking ref="slider" :options="{ align: 'prev' }">
6
- <div class="panel">1</div>
7
- <div class="panel">2</div>
8
- <div class="panel">3</div>
5
+ <slot />
9
6
  </flicking>
10
7
  </div>
11
8
 
12
9
  </template>
13
10
  <style lang="scss" scoped>
14
11
  @import '~@egjs/vue-flicking/dist/flicking.css';
15
-
16
- .itf-slider {
17
- .panel {
18
- width: 100%;
19
- }
20
- }
21
12
  </style>
22
13
  <script>
23
- import { Component, Prop, Provide, Inject, Vue } from 'vue-property-decorator';
14
+ import { Component, Prop, Vue } from 'vue-property-decorator';
24
15
  import { Flicking } from '@egjs/vue-flicking';
25
16
 
26
17
  export default
@@ -36,5 +27,37 @@ class itfSlider extends Vue {
36
27
  mounted() {
37
28
  this.$refs.slider.disableInput();
38
29
  }
30
+
31
+ async prev() {
32
+ try {
33
+ if (this.$refs.slider.index === 0) {
34
+ await this.$refs.slider.moveTo(this.$refs.slider.panels.length - 1);
35
+ return;
36
+ }
37
+ await this.$refs.slider.prev();
38
+ } catch (e) {
39
+ // ignore FlickingError: Animation is already playing.
40
+ }
41
+ }
42
+
43
+ async next() {
44
+ try {
45
+ if (this.$refs.slider.index + 1 > this.$refs.slider.panels.length - 1) {
46
+ await this.$refs.slider.moveTo(0);
47
+ return;
48
+ }
49
+ await this.$refs.slider.next();
50
+ } catch (e) {
51
+ // ignore FlickingError: Animation is already playing.
52
+ }
53
+ }
54
+
55
+ async moveTo(index) {
56
+ try {
57
+ await this.$refs.slider.moveTo(index);
58
+ } catch (e) {
59
+ // ignore FlickingError: Animation is already playing.
60
+ }
61
+ }
39
62
  }
40
63
  </script>
@@ -0,0 +1,22 @@
1
+ <template>
2
+
3
+ <div class="panel"><slot /></div>
4
+
5
+ </template>
6
+ <style lang="scss" scoped>
7
+ .panel {
8
+ width: 100%;
9
+ }
10
+ </style>
11
+ <script>
12
+ import { Component, Vue } from 'vue-property-decorator';
13
+
14
+ export default
15
+ @Component({
16
+ name: 'itfSliderPanel',
17
+ components: {
18
+ }
19
+ })
20
+ class itfSliderPanel extends Vue {
21
+ }
22
+ </script>
@@ -1,10 +1,14 @@
1
1
  import { storiesOf } from '@storybook/vue';
2
2
  import itfSlider from './Slider.vue';
3
+ import itfSliderPanel from './SliderPanel.vue';
4
+ import itfDropdown from '../dropdown/Dropdown.vue';
3
5
 
4
6
  storiesOf('Common', module)
5
7
  .add('Slider', () => ({
6
8
  components: {
7
- itfSlider
9
+ itfSlider,
10
+ itfSliderPanel,
11
+ itfDropdown
8
12
  },
9
13
  data() {
10
14
  return {
@@ -30,20 +34,38 @@ storiesOf('Common', module)
30
34
  <h2>Usage</h2>
31
35
 
32
36
  <pre>
33
-
34
- &lt;itf-datepicker>&lt;/itf-datepicker>
35
-
36
- &lt;button @click="$showSuccess('Success')">Show success&lt;/button>
37
- &lt;button @click="$showError('Error')">Show error&lt;/button>
38
- &lt;button @click="$try(() => { throw new Error('Invalid function'); })">Try function with error&lt;/button>
39
37
  </pre>
40
38
 
41
39
  <h2>Example</h2>
42
40
 
43
- <itf-slider>
44
- <div>1</div>
45
- <div>2</div>
46
- <div>3</div>
41
+ <button @click="$refs.slider.prev()">prev</button>
42
+ <button @click="$refs.slider.next()">next</button>
43
+ <button @click="$refs.slider.moveTo(0)">move to 0</button>
44
+
45
+
46
+ <itf-slider ref="slider">
47
+ <itf-slider-panel>1</itf-slider-panel>
48
+ <itf-slider-panel>2</itf-slider-panel>
49
+ <itf-slider-panel>3</itf-slider-panel>
47
50
  </itf-slider>
51
+
52
+ <itf-dropdown autoclose="outside" :button-options="{ secondary: true }">
53
+ <template #button>
54
+ +
55
+ </template>
56
+ <itf-slider ref="slider2">
57
+ <itf-slider-panel>
58
+ <div>
59
+ <div><a class="dropdown-item" href="#">Action</a></div>
60
+ </div>
61
+ </itf-slider-panel>
62
+ <itf-slider-panel>2</itf-slider-panel>
63
+ <itf-slider-panel>3</itf-slider-panel>
64
+ </itf-slider>
65
+
66
+ <button @click="$refs.slider2.prev()">prev</button>
67
+ <button @click="$refs.slider2.next()">next</button>
68
+ <button @click="$refs.slider2.moveTo(0)">move to 0</button>
69
+ </itf-dropdown>
48
70
  </div>`,
49
71
  }));