@kigi/components 1.8.7 → 1.8.9
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 +1 -1
- package/src/components/mbg-list/index.ts +5 -4
- package/src/components/mbg-list/mbg-list.html +1 -2
- package/src/components/mbg-list/mbg-list.ts +1 -7
- package/src/components/mbg-select-multi-list/mbg-select-multi-list.html +11 -7
- package/src/components/mbg-select-multi-list/mbg-select-multi-list.ts +28 -2
package/package.json
CHANGED
|
@@ -4,9 +4,10 @@ import { mbgListColumn } from './components/mbg-list-column/mbg-list-column'
|
|
|
4
4
|
import { mbgListRow } from './components/mbg-list-row/mbg-list-row'
|
|
5
5
|
|
|
6
6
|
const mbgListModule = angular
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
.module('mbg.components.mbgList', [])
|
|
8
|
+
.component('mbgList', mbgList)
|
|
9
|
+
.component('mbgListColumn', mbgListColumn)
|
|
10
|
+
.component('mbgListRow', mbgListRow)
|
|
11
|
+
.name
|
|
11
12
|
|
|
12
13
|
export { mbgListModule }
|
|
@@ -30,8 +30,7 @@
|
|
|
30
30
|
</td>
|
|
31
31
|
<td ng-if="$ctrl.radio && !$row.isAdicional">
|
|
32
32
|
<mbg-radio ng-model="$ctrl.selectedMap[$ctrl.removeCircularJson($row.$json)]"
|
|
33
|
-
ng-change="$ctrl.toogleRadio($ctrl.removeCircularJson($row.$json))"
|
|
34
|
-
ng-if="!$ctrl.checkboxIf || $ctrl.checkboxIf({ $row: $row })"></mbg-radio>
|
|
33
|
+
ng-change="$ctrl.toogleRadio($ctrl.removeCircularJson($row.$json))"></mbg-radio>
|
|
35
34
|
</td>
|
|
36
35
|
<td ng-repeat="column in $ctrl.columns"
|
|
37
36
|
ng-if="!$row.isAdicional && !column.hidden"
|
|
@@ -209,13 +209,7 @@ export class MbgListController {
|
|
|
209
209
|
handleClickRow(row, index) {
|
|
210
210
|
if (this.rowsAdicional !== index && (this.checkbox || this.radio) && this.enableOnSelectByRow) {
|
|
211
211
|
if (this.radio) {
|
|
212
|
-
|
|
213
|
-
if (this.checkboxIf({ $row: row })) {
|
|
214
|
-
this.toogleRadio(row.$json)
|
|
215
|
-
}
|
|
216
|
-
} else {
|
|
217
|
-
this.toogleRadio(row.$json)
|
|
218
|
-
}
|
|
212
|
+
this.toogleRadio(row.$json)
|
|
219
213
|
} else {
|
|
220
214
|
if (this.checkboxIf) {
|
|
221
215
|
if (this.checkboxIf({ $row: row })) {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
placeholder="$ctrl.placeholderLeft"
|
|
14
14
|
ng-model-options="{ debounce: 300 }"
|
|
15
15
|
ng-change="$ctrl.executeFetch()"></mbg-input-search>
|
|
16
|
-
<div ng-if="$ctrl.
|
|
17
|
-
mbg-dynamic-html="$ctrl.
|
|
16
|
+
<div ng-if="$ctrl.listHeaderDataTransclude"
|
|
17
|
+
mbg-dynamic-html="$ctrl.listHeaderDataTransclude"></div>
|
|
18
18
|
<div class="mbg-multi-list-wrapper"
|
|
19
19
|
ng-show="$ctrl.data.length > 0">
|
|
20
20
|
<div ng-if="$ctrl.listRowTransclude"
|
|
@@ -32,10 +32,14 @@
|
|
|
32
32
|
ng-show="$ctrl.count">
|
|
33
33
|
<span>{{$ctrl.data.length}} / {{$ctrl.count}}</span>
|
|
34
34
|
</div>
|
|
35
|
-
|
|
35
|
+
<div class="row m-b-24 m-t-14"
|
|
36
|
+
ng-show="$ctrl.pagination.data.length > 0">
|
|
36
37
|
<div class="col-md-12">
|
|
37
|
-
<mbg-pagination active-page="$ctrl.pagination.page"
|
|
38
|
-
|
|
38
|
+
<mbg-pagination active-page="$ctrl.pagination.page"
|
|
39
|
+
page-size="$ctrl.pagination.pageSize"
|
|
40
|
+
on-change="$ctrl.fetch()"
|
|
41
|
+
count="$ctrl.pagination.count"
|
|
42
|
+
page-range-displayed="10">
|
|
39
43
|
</mbg-pagination>
|
|
40
44
|
</div>
|
|
41
45
|
</div>
|
|
@@ -45,8 +49,8 @@
|
|
|
45
49
|
ng-model-options="{ debounce: 300 }"
|
|
46
50
|
placeholder="$ctrl.placeholderRight"
|
|
47
51
|
ng-change="$ctrl.searchNgModel()"></mbg-input-search>
|
|
48
|
-
<div ng-if="$ctrl.
|
|
49
|
-
mbg-dynamic-html="$ctrl.
|
|
52
|
+
<div ng-if="$ctrl.listHeaderResultTransclude"
|
|
53
|
+
mbg-dynamic-html="$ctrl.listHeaderResultTransclude"></div>
|
|
50
54
|
<div class="mbg-multi-list-wrapper result-multi-list-wrapper"
|
|
51
55
|
ng-show="$ctrl.dataModel.length > 0">
|
|
52
56
|
<div ng-if="$ctrl.listRowTransclude"
|
|
@@ -3,6 +3,7 @@ import './mbg-select-multi-list.scss'
|
|
|
3
3
|
import template from './mbg-select-multi-list.html'
|
|
4
4
|
import * as Fuse from 'fuse.js'
|
|
5
5
|
import { UtilUID } from '../../helpers/util-uid'
|
|
6
|
+
import _get from 'lodash.get'
|
|
6
7
|
|
|
7
8
|
export class MbgSelectMultiListController {
|
|
8
9
|
private data: Array<any>
|
|
@@ -13,11 +14,14 @@ export class MbgSelectMultiListController {
|
|
|
13
14
|
private isLoading: boolean
|
|
14
15
|
private inputValue: string
|
|
15
16
|
private listRowTransclude: string
|
|
16
|
-
private
|
|
17
|
+
private listHeaderDataTransclude: string
|
|
18
|
+
private listHeaderResultTransclude: string
|
|
17
19
|
private placeholderLeft: string
|
|
18
20
|
private placeholderRight: string
|
|
19
21
|
private inputValueResult: string
|
|
20
22
|
private pagination
|
|
23
|
+
private order
|
|
24
|
+
private fieldOrder
|
|
21
25
|
|
|
22
26
|
constructor(
|
|
23
27
|
public $scope,
|
|
@@ -34,6 +38,7 @@ export class MbgSelectMultiListController {
|
|
|
34
38
|
this.$scope.$c = this.$scope.$parent
|
|
35
39
|
this.findTransclude()
|
|
36
40
|
this.findTranscludeHeader()
|
|
41
|
+
this.findTranscludeResultHeader()
|
|
37
42
|
this.$scope.$watch(
|
|
38
43
|
'$ctrl.data',
|
|
39
44
|
(data) => {
|
|
@@ -63,7 +68,18 @@ export class MbgSelectMultiListController {
|
|
|
63
68
|
angular.forEach(cloneEl, (cl) => {
|
|
64
69
|
let element = angular.element(cl)[0]
|
|
65
70
|
if (element.nodeName && element.nodeName === 'MBG-HEADER-CONTENT') {
|
|
66
|
-
this.
|
|
71
|
+
this.listHeaderDataTransclude = element.innerHTML
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
findTranscludeResultHeader() {
|
|
78
|
+
this.$transclude(this.$scope, (cloneEl) => {
|
|
79
|
+
angular.forEach(cloneEl, (cl) => {
|
|
80
|
+
let element = angular.element(cl)[0]
|
|
81
|
+
if (element.nodeName && element.nodeName === 'MBG-HEADER-RESULT-CONTENT') {
|
|
82
|
+
this.listHeaderResultTransclude = element.innerHTML
|
|
67
83
|
}
|
|
68
84
|
})
|
|
69
85
|
})
|
|
@@ -144,6 +160,16 @@ export class MbgSelectMultiListController {
|
|
|
144
160
|
this.$timeout(() => element.removeClass('active'), 300)
|
|
145
161
|
}, 100)
|
|
146
162
|
}
|
|
163
|
+
|
|
164
|
+
executeSort(field, dir) {
|
|
165
|
+
this.order = dir
|
|
166
|
+
this.fieldOrder = field
|
|
167
|
+
this.dataModel = this.dataModel.sort((a, b) =>
|
|
168
|
+
typeof _get(a, field) == 'string'
|
|
169
|
+
? _get(dir == 'asc' ? a : b, field).localeCompare(_get(dir == 'asc' ? b : a, field))
|
|
170
|
+
: _get(dir == 'asc' ? a : b, field) - _get(dir == 'asc' ? b : a, field),
|
|
171
|
+
)
|
|
172
|
+
}
|
|
147
173
|
}
|
|
148
174
|
|
|
149
175
|
MbgSelectMultiListController.$inject = [
|