PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.3
JetFormBuilder — Dynamic Blocks Form Builder v3.1.3
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / assets / src / frontend / main / attrs / RemainingCalcAttr.js
jetformbuilder / assets / src / frontend / main / attrs Last commit date
BaseHtmlAttr.js 2 years ago FileExtensionHtmlAttr.js 2 years ago MaxFileSizeHtmlAttr.js 2 years ago MaxFilesHtmlAttr.js 2 years ago RemainingCalcAttr.js 2 years ago
RemainingCalcAttr.js
39 lines
1 import BaseHtmlAttr from './BaseHtmlAttr';
2
3 function RemainingCalcAttr() {
4 BaseHtmlAttr.call( this );
5
6 this.attrName = 'remaining';
7
8 this.isSupported = function ( input ) {
9 return input.attrs.hasOwnProperty( 'maxLength' );
10 };
11
12 this.setInput = function ( input ) {
13 BaseHtmlAttr.prototype.setInput.call( this, input );
14 const { maxLength } = input.attrs;
15 const current = input.value.current?.length ?? 0;
16
17 this.initial = maxLength.value.current - current;
18 };
19
20 this.addWatcherAttr = () => {};
21
22 this.observe = function () {
23 BaseHtmlAttr.prototype.observe.call( this );
24
25 this.input.value.watch( () => this.updateAttr() );
26 this.input.attrs.maxLength.value.watch( () => this.updateAttr() );
27 };
28
29 this.updateAttr = function () {
30 const { maxLength } = this.input.attrs;
31 const current = this.input.value.current?.length ?? 0;
32
33 this.value.current = maxLength.value.current - current;
34 };
35 }
36
37 RemainingCalcAttr.prototype = Object.create( BaseHtmlAttr.prototype );
38
39 export default RemainingCalcAttr;