Path : /var/www/html/moneyexchange/public/assets/libs/jquery-asGradient/src/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/moneyexchange/public/assets/libs/jquery-asGradient/src/asGradient.js |
import $ from "jquery"; import DEFAULTS from "./defaults"; import * as util from "./util"; import GradientString from "./gradientString"; import ColorStop from "./colorStop"; import GradientTypes from "./gradientTypes"; class AsGradient { constructor(string, options) { if (typeof string === "object" && typeof options === "undefined") { options = string; string = undefined; } this.value = { angle: 0, stops: [], }; this.options = $.extend(true, {}, DEFAULTS, options); this._type = "LINEAR"; this._prefix = null; this.length = this.value.stops.length; this.current = 0; this._stopIdCount = 0; this.init(string); } init(string) { if (string) { this.fromString(string); } } val(value) { if (typeof value === "undefined") { return this.toString(); } else { this.fromString(value); return this; } } angle(value) { if (typeof value === "undefined") { return this.value.angle; } else { this.value.angle = GradientString.parseAngle(value); return this; } } append(color, position) { return this.insert(color, position, this.length); } reorder() { if (this.length < 2) { return; } this.value.stops = this.value.stops.sort((a, b) => a.position - b.position); } insert(color, position, index) { if (typeof index === "undefined") { index = this.current; } const stop = new ColorStop(color, position, this); this.value.stops.splice(index, 0, stop); this.length = this.length + 1; this.current = index; return stop; } getById(id) { if (this.length > 0) { for (const i in this.value.stops) { if (id === this.value.stops[i].id) { return this.value.stops[i]; } } } return false; } removeById(id) { const index = this.getIndexById(id); if (index) { this.remove(index); } } getIndexById(id) { let index = 0; for (const i in this.value.stops) { if (id === this.value.stops[i].id) { return index; } index++; } return false; } getCurrent() { return this.value.stops[this.current]; } setCurrentById(id) { let index = 0; for (const i in this.value.stops) { if (this.value.stops[i].id !== id) { index++; } else { this.current = index; } } } get(index) { if (typeof index === "undefined") { index = this.current; } if (index >= 0 && index < this.length) { this.current = index; return this.value.stops[index]; } else { return false; } } remove(index) { if (typeof index === "undefined") { index = this.current; } if (index >= 0 && index < this.length) { this.value.stops.splice(index, 1); this.length = this.length - 1; this.current = index - 1; } } empty() { this.value.stops = []; this.length = 0; this.current = 0; } reset() { this.value._angle = 0; this.empty(); this._prefix = null; this._type = "LINEAR"; } type(type) { if ( typeof type === "string" && (type = type.toUpperCase()) && typeof GradientTypes[type] !== "undefined" ) { this._type = type; return this; } else { return this._type; } } fromString(string) { this.reset(); const result = GradientString.parseString(string); if (result) { this._prefix = result.prefix; this.type(result.type); if (result.value) { this.value.angle = GradientString.parseAngle( result.value.angle, this._prefix !== null ); $.each(result.value.stops, (i, stop) => { this.append(stop.color, stop.position); }); } } } toString(prefix) { if (prefix === true) { prefix = util.getPrefix(); } return GradientTypes[this.type()].to(this.value, this, prefix); } matchString(string) { return GradientString.matchString(string); } toStringWithAngle(angle, prefix) { const value = $.extend(true, {}, this.value); value.angle = GradientString.parseAngle(angle); if (prefix === true) { prefix = util.getPrefix(); } return GradientTypes[this.type()].to(value, this, prefix); } getPrefixedStrings() { const strings = []; for (let i in this.options.prefixes) { if (Object.hasOwnProperty.call(this.options.prefixes, i)) { strings.push(this.toString(this.options.prefixes[i])); } } return strings; } static setDefaults(options) { $.extend(true, DEFAULTS, $.isPlainObject(options) && options); } } export default AsGradient;