@avakhula/ui 0.1.1 → 0.1.3
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/dist/index.js +19 -10
- package/dist/index.umd.cjs +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/App.vue +16 -12
- package/src/components/Form/Toggle/Toggle.vue +1 -0
- package/src/components/TreeSelect/Select.vue +23 -6
- package/src/components/TreeSelect/scss/select.scss +7 -0
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
name="email"
|
|
6
|
-
@input="val => console.log(val)"
|
|
7
|
-
@blur="val => console.log(val)"
|
|
8
|
-
/>
|
|
2
|
+
<div class="test">
|
|
3
|
+
<limit-selector />
|
|
4
|
+
</div>
|
|
9
5
|
</template>
|
|
10
6
|
|
|
11
7
|
<script>
|
|
12
|
-
import
|
|
13
|
-
|
|
8
|
+
import LimitSelector from "./components/Pagination/LimitSelector.vue"
|
|
14
9
|
export default {
|
|
15
10
|
components: {
|
|
16
|
-
|
|
17
|
-
}
|
|
11
|
+
LimitSelector
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<style lang="scss">
|
|
18
|
+
.test {
|
|
19
|
+
height: 100vh;
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: end;
|
|
18
22
|
}
|
|
19
|
-
</
|
|
23
|
+
</style>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
:vertical="vertical"
|
|
11
11
|
ref="dropdown"
|
|
12
12
|
@close="onClose"
|
|
13
|
-
@open="
|
|
13
|
+
@open="onOpen"
|
|
14
14
|
>
|
|
15
15
|
<template v-if="hasTrigger" v-slot:trigger>
|
|
16
16
|
<slot v-bind:selected-count="selectedKeys.length" name="trigger"></slot>
|
|
@@ -242,6 +242,7 @@
|
|
|
242
242
|
</template>
|
|
243
243
|
|
|
244
244
|
<script>
|
|
245
|
+
// <!-- TODO: use constants for vertical position -->
|
|
245
246
|
import IbInput from "../Form/Input/Input.vue";
|
|
246
247
|
import Option from "./Option.vue";
|
|
247
248
|
import Mark from "mark.js/dist/mark.es6.min";
|
|
@@ -374,9 +375,10 @@ export default {
|
|
|
374
375
|
type: Boolean,
|
|
375
376
|
default: false,
|
|
376
377
|
},
|
|
377
|
-
vertical: {
|
|
378
|
-
|
|
379
|
-
|
|
378
|
+
// vertical: {
|
|
379
|
+
// type: String,
|
|
380
|
+
// default: "bottom"
|
|
381
|
+
// },
|
|
380
382
|
emptyMessage: {
|
|
381
383
|
type: String,
|
|
382
384
|
default: "",
|
|
@@ -409,12 +411,15 @@ export default {
|
|
|
409
411
|
"search",
|
|
410
412
|
"resize",
|
|
411
413
|
"submit",
|
|
414
|
+
"clearValue",
|
|
412
415
|
"update:modelValue",
|
|
413
416
|
],
|
|
414
417
|
watch: {
|
|
415
418
|
value(value) {
|
|
416
419
|
this.val = value;
|
|
417
|
-
this.
|
|
420
|
+
if (!Array.isArray(value) || value.join(',') !== Object.keys(this.selected).join(',')) {
|
|
421
|
+
this.setPreparedValues(this.actualOptions, false);
|
|
422
|
+
}
|
|
418
423
|
},
|
|
419
424
|
modelValue(value) {
|
|
420
425
|
this.val = value;
|
|
@@ -512,6 +517,7 @@ export default {
|
|
|
512
517
|
actualBookmarkedOptions: {},
|
|
513
518
|
selected: [],
|
|
514
519
|
isOpen: false,
|
|
520
|
+
vertical: "bottom",
|
|
515
521
|
allOptionsIsChecked: true,
|
|
516
522
|
hasTreeChildren: false,
|
|
517
523
|
uid: `f${(~~(Math.random() * 1e8)).toString(16)}`,
|
|
@@ -657,7 +663,6 @@ export default {
|
|
|
657
663
|
this.setPreparedValues();
|
|
658
664
|
this.allOptionsIsChecked = false;
|
|
659
665
|
this.selected = [];
|
|
660
|
-
const values = Object.keys(this.selected);
|
|
661
666
|
|
|
662
667
|
if (this.isMultiple) {
|
|
663
668
|
this.$emit("update:modelValue", null);
|
|
@@ -907,7 +912,19 @@ export default {
|
|
|
907
912
|
this.$emit("close", Object.keys(this.selected)[0]);
|
|
908
913
|
}
|
|
909
914
|
this.$emit("blur");
|
|
915
|
+
this.vertical = "bottom";
|
|
910
916
|
},
|
|
917
|
+
onOpen() {
|
|
918
|
+
const screenHeight = document.documentElement.scrollHeight;
|
|
919
|
+
this.isOpen = true;
|
|
920
|
+
|
|
921
|
+
this.$nextTick(() => {
|
|
922
|
+
const newScreenHeight = document.documentElement.scrollHeight
|
|
923
|
+
if(newScreenHeight > screenHeight) {
|
|
924
|
+
this.vertical = "top";
|
|
925
|
+
}
|
|
926
|
+
})
|
|
927
|
+
}
|
|
911
928
|
},
|
|
912
929
|
computed: {
|
|
913
930
|
hasTrigger() {
|