Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/component/dialog/chat/src/components/ |
Upload File : |
export const FloatButtonColor = Object.freeze({ accent: 'accent', alert: 'alert', success: 'success', }); export const FloatButtonIcon = Object.freeze({ chevronDown: 'chevron-down', heart: 'heart', atSymbol: 'at-symbol', comment: 'comment', }); // @vue/component export const FloatButton = { name: 'FloatButton', props: { counter: { type: Number, default: 0, }, color: { type: String, required: false, default: FloatButtonColor.accent, validator: (value) => { return Object.values(FloatButtonColor).includes(value); }, }, icon: { type: String, required: true, validator: (value) => { return Object.values(FloatButtonIcon).includes(value); }, }, }, computed: { buttonClassname(): string[] { return [ 'bx-im-dialog-chat__float-button', `--color-${this.color}`, `--icon-${this.icon}`, ]; }, formattedCounter(): string { if (this.counter === 0) { return ''; } if (this.counter > 99) { return '99+'; } return String(this.counter); }, }, template: ` <div :class="buttonClassname"> <div class="bx-im-dialog-chat__float-button_icon"></div> <div v-if="counter" class="bx-im-dialog-chat__float-button_counter"> {{ formattedCounter }} </div> </div> `, };