/*! * @license * Copyright 2016 Alfresco Software, Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export type VisibiltyFunction = (obj?: any) => boolean; const defaultValidation = () => true; export class MenuButton { label: string; icon: string; handler: any; styles: string; id: string; isVisible: VisibiltyFunction; constructor(obj?: any) { this.label = obj.label; this.icon = obj.icon; this.handler = obj.handler; this.styles = obj.styles || null; this.id = obj.id || null; this.isVisible = obj.isVisible ? obj.isVisible : defaultValidation; } }