MCPcopy
hub / github.com/RobinHerbots/Inputmask / writeBuffer

Function writeBuffer

lib/inputHandling.js:353–417  ·  view source on GitHub ↗
(input, buffer, caretPos, event, triggerEvents)

Source from the content-addressed store, hash-verified

351}
352
353function writeBuffer(input, buffer, caretPos, event, triggerEvents) {
354 const inputmask = input ? input.inputmask : this,
355 opts = inputmask.opts,
356 $ = inputmask.dependencyLib;
357
358 if (event && typeof opts.onBeforeWrite === "function") {
359 // buffer = buffer.slice(); //prevent uncontrolled manipulation of the internal buffer
360 const result = opts.onBeforeWrite.call(
361 inputmask,
362 event,
363 buffer,
364 caretPos,
365 opts
366 );
367 if (result) {
368 if (result.refreshFromBuffer) {
369 const refresh = result.refreshFromBuffer;
370 refreshFromBuffer.call(
371 inputmask,
372 refresh === true ? refresh : refresh.start,
373 refresh.end,
374 result.buffer || buffer
375 );
376 buffer = getBuffer.call(inputmask, true);
377 }
378 if (caretPos !== undefined)
379 caretPos = result.caret !== undefined ? result.caret : caretPos;
380 }
381 }
382 if (input !== undefined) {
383 input.inputmask._valueSet(buffer.join(""));
384 if (
385 caretPos !== undefined &&
386 (event === undefined || event.type !== "blur")
387 ) {
388 // console.log(caretPos);
389 caret.call(
390 inputmask,
391 input,
392 caretPos,
393 undefined,
394 undefined,
395 event !== undefined &&
396 event.type === "keydown" &&
397 (event.key === keys.Delete || event.key === keys.Backspace)
398 );
399 }
400 input.inputmask.writeBufferHook === undefined ||
401 input.inputmask.writeBufferHook(caretPos);
402 if (triggerEvents === true) {
403 const $input = $(input),
404 nptVal = input.inputmask._valueGet();
405 input.inputmask.skipInputEvent = true;
406 $input.trigger("input");
407 setTimeout(function () {
408 // timeout needed for IE
409 if (nptVal === getBufferTemplate.call(inputmask).join("")) {
410 $input.trigger("cleared");

Callers 3

maskFunction · 0.90
eventhandlers.jsFile · 0.90
HandleNativePlaceholderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected