提交 f3b2594c 编写于 作者: RedPig97's avatar RedPig97

update:工具栏指令变更

上级 b64ca4a5
......@@ -106,7 +106,7 @@ import AppMapPosition from './components/app-map-position/app-map-position.vue';
import AppSortBar from './components/app-sort-bar/app-sort-bar.vue';
import AppAfterTime from './components/app-after-time/app-after-time.vue';
import AppInputIp from './components/app-input-ip/app-input-ip.vue';
import Loadding from './directive/loadding/loadding';
import ButtonLoading from './directive/button-loading/button-loading';
import AppColorSpan from './components/app-color-span/app-color-span.vue';
import AppColorPicker from './components/app-color-picker/app-color-picker.vue';
import AppScrollContainer from './components/layout-element/structure/app-scroll-container/app-scroll-container.vue';
......@@ -258,7 +258,7 @@ export const AppComponents = {
v.component('app-sort-bar', AppSortBar);
v.component('app-after-time', AppAfterTime);
v.component('app-input-ip', AppInputIp);
v.directive('loading',Loadding);
v.directive('button-loading',ButtonLoading);
v.component('app-color-span', AppColorSpan);
v.component('app-color-picker', AppColorPicker);
v.component('app-scroll-container', AppScrollContainer);
......
......@@ -5,48 +5,48 @@ import { Subscription } from 'rxjs';
* 按钮loadding状态服务
*
* @export
* @class LoaddingService
* @class ButtonLoadingService
*/
export class LoaddingService {
export class ButtonLoadingService {
/**
* 单例变量声明
*
* @private
* @static
* @type {LoaddingService}
* @memberof LoaddingService
* @type {ButtonLoadingService}
* @memberof ButtonLoadingService
*/
private static loaddingService: LoaddingService;
private static ButtonLoadingService: ButtonLoadingService;
/**
* loadding状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public loaddingStateEvent: Subscription | null = null;
public buttonLoadingStateEvent: Subscription | null = null;
/**
* @description dom映射对象
* @type {Map<string, any>}
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public domMap: Map<string, any> = new Map();
/**
* 获取 LoaddingService 单例对象
* 获取 ButtonLoadingService 单例对象
*
* @static
* @returns {LoaddingService}
* @memberof LoaddingService
* @returns {ButtonLoadingService}
* @memberof ButtonLoadingService
*/
public static getInstance(): LoaddingService {
if (!LoaddingService.loaddingService) {
LoaddingService.loaddingService = new LoaddingService();
public static getInstance(): ButtonLoadingService {
if (!ButtonLoadingService.ButtonLoadingService) {
ButtonLoadingService.ButtonLoadingService = new ButtonLoadingService();
}
return this.loaddingService;
return this.ButtonLoadingService;
}
/**
......@@ -54,7 +54,7 @@ export class LoaddingService {
*
* @param {any} el 指令所绑定的元素
* @param {any} binding 指令附加参数
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public initElement(el:any, binding:any){
if(binding && binding.arg){
......@@ -76,11 +76,11 @@ export class LoaddingService {
*
* @param {any} el 指令所绑定的元素
* @param {any} binding 指令附加参数
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public setLoadState(el:any, binding:any){
if (!this.loaddingStateEvent) {
this.loaddingStateEvent = Http.getInstance().getNotifyObject().subscribe((result:any) =>{
if (!this.buttonLoadingStateEvent) {
this.buttonLoadingStateEvent = Http.getInstance().getNotifyObject().subscribe((result:any) =>{
if(result && result.action && Object.is(result.action,'setloadstate')){
if(result && result.state){
this.addLoadState();
......@@ -97,7 +97,7 @@ export class LoaddingService {
*
* @param {any} el 指令所绑定的元素
* @param {any} binding 指令附加参数
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public addLoadState(){
this.domMap.forEach((dom: any, key: string) => {
......@@ -110,7 +110,7 @@ export class LoaddingService {
*
* @param {any} el 指令所绑定的元素
* @param {any} binding 指令附加参数
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public removeLoadState(){
this.domMap.forEach((dom: any, key: string) => {
......@@ -123,12 +123,12 @@ export class LoaddingService {
*
* @param {any} el 指令所绑定的元素
* @param {any} binding 指令附加参数
* @memberof LoaddingService
* @memberof ButtonLoadingService
*/
public clearResource(el:any, binding:any){
if(this.loaddingStateEvent && this.domMap.size == 0){
this.loaddingStateEvent.unsubscribe();
this.loaddingStateEvent = null;
if(this.buttonLoadingStateEvent && this.domMap.size == 0){
this.buttonLoadingStateEvent.unsubscribe();
this.buttonLoadingStateEvent = null;
}
const uuid: string = el.getAttribute('uuid');
if (uuid && this.domMap.has(uuid)) {
......@@ -140,12 +140,12 @@ export class LoaddingService {
}
export default {
bind(el:any, binding:any) {
LoaddingService.getInstance().initElement(el, binding);
ButtonLoadingService.getInstance().initElement(el, binding);
},
inserted(el:any, binding:any) {
LoaddingService.getInstance().setLoadState(el, binding);
ButtonLoadingService.getInstance().setLoadState(el, binding);
},
unbind(el:any, binding:any) {
LoaddingService.getInstance().clearResource(el,binding);
ButtonLoadingService.getInstance().clearResource(el,binding);
}
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册