@kigi/components 1.8.7 → 1.8.8
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 +26 -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,13 @@ 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
|
|
21
24
|
|
|
22
25
|
constructor(
|
|
23
26
|
public $scope,
|
|
@@ -34,6 +37,7 @@ export class MbgSelectMultiListController {
|
|
|
34
37
|
this.$scope.$c = this.$scope.$parent
|
|
35
38
|
this.findTransclude()
|
|
36
39
|
this.findTranscludeHeader()
|
|
40
|
+
this.findTranscludeResultHeader()
|
|
37
41
|
this.$scope.$watch(
|
|
38
42
|
'$ctrl.data',
|
|
39
43
|
(data) => {
|
|
@@ -63,7 +67,18 @@ export class MbgSelectMultiListController {
|
|
|
63
67
|
angular.forEach(cloneEl, (cl) => {
|
|
64
68
|
let element = angular.element(cl)[0]
|
|
65
69
|
if (element.nodeName && element.nodeName === 'MBG-HEADER-CONTENT') {
|
|
66
|
-
this.
|
|
70
|
+
this.listHeaderDataTransclude = element.innerHTML
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
findTranscludeResultHeader() {
|
|
77
|
+
this.$transclude(this.$scope, (cloneEl) => {
|
|
78
|
+
angular.forEach(cloneEl, (cl) => {
|
|
79
|
+
let element = angular.element(cl)[0]
|
|
80
|
+
if (element.nodeName && element.nodeName === 'MBG-HEADER-RESULT-CONTENT') {
|
|
81
|
+
this.listHeaderResultTransclude = element.innerHTML
|
|
67
82
|
}
|
|
68
83
|
})
|
|
69
84
|
})
|
|
@@ -144,6 +159,15 @@ export class MbgSelectMultiListController {
|
|
|
144
159
|
this.$timeout(() => element.removeClass('active'), 300)
|
|
145
160
|
}, 100)
|
|
146
161
|
}
|
|
162
|
+
|
|
163
|
+
executeSort(field, dir) {
|
|
164
|
+
this.order = dir
|
|
165
|
+
this.dataModel = this.dataModel.sort((a, b) =>
|
|
166
|
+
typeof _get(a, field) == 'string'
|
|
167
|
+
? _get(dir == 'asc' ? a : b, field).localeCompare(_get(dir == 'asc' ? b : a, field))
|
|
168
|
+
: _get(dir == 'asc' ? a : b, field) - _get(dir == 'asc' ? b : a, field),
|
|
169
|
+
)
|
|
170
|
+
}
|
|
147
171
|
}
|
|
148
172
|
|
|
149
173
|
MbgSelectMultiListController.$inject = [
|