403Webshell
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/message/support/vote/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/component/message/support/vote/dist/vote.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
this.BX.Messenger = this.BX.Messenger || {};
this.BX.Messenger.v2 = this.BX.Messenger.v2 || {};
this.BX.Messenger.v2.Component = this.BX.Messenger.v2.Component || {};
(function (exports,main_core,im_v2_component_message_base,im_v2_lib_notifier,im_v2_application_core,im_v2_const) {
	'use strict';

	const VoteType = {
	  like: 'like',
	  dislike: 'dislike',
	  none: 'none'
	};

	const VoteParamKey = {
	  voteText: 'imolVoteText',
	  likeText: 'imolVoteLike',
	  dislikeText: 'imolVoteDislike',
	  currentVote: 'imolVote',
	  timeLimit: 'imolTimeLimitVote',
	  voteCloseDate: 'imolDateCloseVote'
	};

	var _messageId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("messageId");
	var _dialogId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("dialogId");
	var _updateModel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateModel");
	class VoteService {
	  constructor(messageId, dialogId) {
	    Object.defineProperty(this, _updateModel, {
	      value: _updateModel2
	    });
	    Object.defineProperty(this, _messageId, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _dialogId, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _messageId)[_messageId] = messageId;
	    babelHelpers.classPrivateFieldLooseBase(this, _dialogId)[_dialogId] = dialogId;
	  }
	  like() {
	    babelHelpers.classPrivateFieldLooseBase(this, _updateModel)[_updateModel]({
	      vote: VoteType.like
	    });
	    const payload = {
	      MESSAGE_ID: babelHelpers.classPrivateFieldLooseBase(this, _messageId)[_messageId],
	      DIALOG_ID: babelHelpers.classPrivateFieldLooseBase(this, _dialogId)[_dialogId],
	      RATING: VoteType.like
	    };
	    im_v2_application_core.Core.getRestClient().callMethod(im_v2_const.RestMethod.imBotDialogVote, payload).catch(result => {
	      console.error('VoteService: error in dialog vote', result.error());
	    });
	  }
	  dislike() {
	    babelHelpers.classPrivateFieldLooseBase(this, _updateModel)[_updateModel]({
	      vote: VoteType.dislike
	    });
	    const payload = {
	      MESSAGE_ID: babelHelpers.classPrivateFieldLooseBase(this, _messageId)[_messageId],
	      DIALOG_ID: babelHelpers.classPrivateFieldLooseBase(this, _dialogId)[_dialogId],
	      RATING: VoteType.dislike
	    };
	    im_v2_application_core.Core.getRestClient().callMethod(im_v2_const.RestMethod.imBotDialogVote, payload).catch(result => {
	      console.error('VoteService: error in dialog vote', result.error());
	    });
	  }
	}
	function _updateModel2(params) {
	  const {
	    vote
	  } = params;
	  const currentMessage = im_v2_application_core.Core.getStore().getters['messages/getById'](babelHelpers.classPrivateFieldLooseBase(this, _messageId)[_messageId]);
	  const newComponentParams = {
	    ...currentMessage.componentParams,
	    [VoteParamKey.currentVote]: vote
	  };
	  void im_v2_application_core.Core.getStore().dispatch('messages/update', {
	    id: babelHelpers.classPrivateFieldLooseBase(this, _messageId)[_messageId],
	    fields: {
	      componentParams: newComponentParams
	    }
	  });
	}

	// @vue/component
	const SupportVoteMessage = {
	  name: 'SupportVote',
	  components: {
	    BaseMessage: im_v2_component_message_base.BaseMessage
	  },
	  props: {
	    item: {
	      type: Object,
	      required: true
	    },
	    dialogId: {
	      type: String,
	      required: true
	    },
	    withTitle: {
	      type: Boolean,
	      default: true
	    }
	  },
	  computed: {
	    message() {
	      return this.item;
	    },
	    currentVote() {
	      return this.message.componentParams[VoteParamKey.currentVote] || VoteType.none;
	    },
	    voteText() {
	      if (this.currentVote === VoteType.none) {
	        return this.message.componentParams[VoteParamKey.voteText];
	      }
	      if (this.currentVote === VoteType.like) {
	        return this.message.componentParams[VoteParamKey.likeText];
	      }
	      return this.message.componentParams[VoteParamKey.dislikeText];
	    },
	    voteClosed() {
	      const closeDate = this.message.componentParams[VoteParamKey.voteCloseDate];
	      if (!main_core.Type.isStringFilled(closeDate)) {
	        return false;
	      }
	      return new Date(closeDate).getTime() < Date.now();
	    },
	    likeClasses() {
	      return {
	        '--active': this.currentVote === VoteType.like,
	        '--disabled': this.currentVote === VoteType.dislike
	      };
	    },
	    dislikeClasses() {
	      return {
	        '--active': this.currentVote === VoteType.dislike,
	        '--disabled': this.currentVote === VoteType.like
	      };
	    }
	  },
	  methods: {
	    onLike() {
	      if (this.currentVote === VoteType.like) {
	        return;
	      }
	      if (this.voteClosed) {
	        this.showVoteClosedNotification();
	        return;
	      }
	      this.getVoteService().like();
	    },
	    onDislike() {
	      if (this.currentVote === VoteType.dislike) {
	        return;
	      }
	      if (this.voteClosed) {
	        this.showVoteClosedNotification();
	        return;
	      }
	      this.getVoteService().dislike();
	    },
	    showVoteClosedNotification() {
	      im_v2_lib_notifier.Notifier.support.onVoteClosedError();
	    },
	    getVoteService() {
	      if (!this.voteService) {
	        this.voteService = new VoteService(this.message.id, this.dialogId);
	      }
	      return this.voteService;
	    },
	    loc(phraseCode, replacements = {}) {
	      return this.$Bitrix.Loc.getMessage(phraseCode, replacements);
	    }
	  },
	  template: `
		<BaseMessage
			:item="item"
			:dialogId="dialogId"
			:withTitle="withTitle"
			:withContextMenu="false"
			:withReactions="false"
		>
			<div class="bx-im-message-support-vote__container">
				<div class="bx-im-message-support-vote__title">{{ loc('IM_MESSAGE_SUPPORT_VOTE_TITLE') }}</div>
				<div class="bx-im-message-support-vote__subtitle">{{ voteText }}</div>
				<div class="bx-im-message-support-vote__actions">
					<div class="bx-im-message-support-vote__action_item --like" :class="likeClasses" @click="onLike"></div>
					<div class="bx-im-message-support-vote__action_item --dislike" :class="dislikeClasses" @click="onDislike"></div>
				</div>
			</div>
		</BaseMessage>
	`
	};

	exports.SupportVoteMessage = SupportVoteMessage;

}((this.BX.Messenger.v2.Component.Message = this.BX.Messenger.v2.Component.Message || {}),BX,BX.Messenger.v2.Component.Message,BX.Messenger.v2.Lib,BX.Messenger.v2.Application,BX.Messenger.v2.Const));
//# sourceMappingURL=vote.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit