mobileoa-common-modules
Version:
移动办公平台前端公共功能模块
67 lines (52 loc) • 1.64 kB
JavaScript
'use strict';
var angular = require('angular'),
_ = require('jsUtil');
require('../modules');
angular
.module('infoDisplay.directives')
.directive('sinoInfoListPage', sinoInfoListPage)
.controller('SinoInfoListPageCtrl', SinoInfoListPageCtrl);
/** @ngInject */
function sinoInfoListPage() {
return {
restrict: 'A',
controller: 'SinoInfoListPageCtrl',
controllerAs: 'sinoInfoListPageCtrl'
}
}
/** @ngInject */
function SinoInfoListPageCtrl($scope, ModelService) {
var self = this;
self.$scope = $scope;
self.$scope.selectedItems;
self.$scope.notSelectedItems;
self.$scope.selectedIndex = 0;
self.$scope.refreshItems = refreshItems;
self.$scope.getSelectedIndex = getSelectedIndex;
init();
function init() {
ModelService.getSelectedModels().then(function(models) {
$scope.selectedItems = models;
$scope.selectedItemId = $scope.selectedItems[0].id;
});
ModelService.getNotSelectedModel().then(function(models) {
$scope.notSelectedItems = models;
});
}
$scope.$on('infoModelChange', function(event, selectedItemId, selectedItems) {
$scope.selectedItemId = selectedItemId;
});
function getSelectedIndex(selectedItemId) {
var selectedIndex;
_.each($scope.selectedItems, function(selectedItem, key) {
if (selectedItem && selectedItem.id === selectedItemId) {
selectedIndex = key;
}
});
return selectedIndex;
}
function refreshItems(selectedItems, notSelectedItems) {
ModelService.setStorageSelectedModel($scope.selectedItems);
ModelService.setStorageNotSelectedModel($scope.notSelectedItems);
}
}