Helpers/utils

Classes

Interfaces

Loader

Loader: (jodit: IViewBased, url: string) => Promise<any>

Type declaration

(jodit, url): Promise<any>

Parameters
Name Type
jodit IViewBased
url string
Returns

Promise<any>

Defined in

src/core/helpers/utils/append-script.ts#16


AbortError

AbortError: DOMException & { name: "AbortError" }

AbortError is not a separate exception, but rather a DOMException with a special name.
https://webidl.spec.whatwg.org/#aborterror

Defined in

src/core/helpers/utils/error/errors/abort-error.ts#17

keepNames

Const keepNames: Map<Function, string>

Defined in

src/core/helpers/utils/get-class-name.ts#14


cns

Const cns: Console = console

By default, terser will remove all console.* but
if you use this object it will not be

Defined in

src/core/helpers/utils/mark-deprecated.ts#15

hAlignElement

hAlignElement(image, align): void

Align image

Parameters

Name Type
image HTMLElement
align ImageHAlign

Returns

void

Defined in

src/core/helpers/utils/align.ts#18


clearAlign

clearAlign(node): void

Remove text-align style for all selected children

Parameters

Name Type
node Node

Returns

void

Defined in

src/core/helpers/utils/align.ts#48


alignElement

alignElement(command, box): void

Apply align for element

Parameters

Name Type
command string
box HTMLElement

Returns

void

Defined in

src/core/helpers/utils/align.ts#65


appendScriptAsync

appendScriptAsync(jodit, url): Promise<any>

Load script and return promise

Parameters

Name Type
jodit IViewBased<IViewOptions>
url string

Returns

Promise<any>

Defined in

src/core/helpers/utils/append-script.ts#42


appendStyleAsync

appendStyleAsync(jodit, url): Promise<any>

Download CSS style script

Parameters

Name Type
jodit IViewBased<IViewOptions>
url string

Returns

Promise<any>

Defined in

src/core/helpers/utils/append-script.ts#66


loadNext

loadNext(jodit, urls, i?): Promise<void>

Parameters

Name Type Default value
jodit IViewBased<IViewOptions> undefined
urls string[] undefined
i number 0

Returns

Promise<void>

Defined in

src/core/helpers/utils/append-script.ts#95


loadNextStyle

loadNextStyle(jodit, urls, i?): Promise<void>

Parameters

Name Type Default value
jodit IViewBased<IViewOptions> undefined
urls string[] undefined
i number 0

Returns

Promise<void>

Defined in

src/core/helpers/utils/append-script.ts#109


assert

assert<T>(condition, message): asserts condition

Asserts that condition is truthy (or evaluates to true).

Type parameters

Name
T

Parameters

Name Type
condition undefined | null | false | "" | 0 | T
message string

Returns

asserts condition

Defined in

src/core/helpers/utils/assert.ts#19


attr

attr(elm, key): null | string

Get attribute

Parameters

Name Type
elm Element
key string

Returns

null | string

Defined in

src/core/helpers/utils/attr.ts#24

attr(elm, key, value): void

Remove attribute

Parameters

Name Type
elm Element
key string
value null

Returns

void

Defined in

src/core/helpers/utils/attr.ts#29

attr(elm, key, value): null

Set attribute

Parameters

Name Type
elm Element
key string
value undefined | null | string | number | boolean

Returns

null

Defined in

src/core/helpers/utils/attr.ts#34

attr(elm, attributes): null

Set or remove several attributes

Parameters

Name Type
elm Element
attributes IDictionary<null | string | number | boolean>

Returns

null

Defined in

src/core/helpers/utils/attr.ts#43


browser

browser(browser): string | boolean

Module returns method that is used to determine the browser

Parameters

Name Type
browser string

Returns

string | boolean

Example

console.log(Jodit.modules.Helpers.browser('mse'));
console.log(Jodit.modules.Helpers.browser('chrome'));
console.log($Jodit.modules.Helpers.browser('opera'));
console.log(Jodit.modules.Helpers.browser('firefox'));
console.log(Jodit.modules.Helpers.browser('mse') && Jodit.modules.Helpers.browser('version') > 10);
Defined in

src/core/helpers/utils/browser.ts#22


buildQuery

buildQuery(data, prefix?): string

Build query string

Parameters

Name Type
data IDictionary
prefix? string

Returns

string

Defined in

src/core/helpers/utils/build-query.ts#17


completeUrl

completeUrl(url): string

Parameters

Name Type
url string

Returns

string

Defined in

src/core/helpers/utils/complete-url.ts#13


ConfigProto

ConfigProto(options, proto, deep?): IDictionary

Parameters

Name Type Default value
options IDictionary undefined
proto IDictionary undefined
deep number 0

Returns

IDictionary

Example

const defaultConfig = {
  a: {
    b: {
      c: 2
    },
    e: 5
  },
  d: {
    g: 7
  }
};

const options = ConfigProto({a: {
  b: {
    c: 1
  }
}}, defaultConfig);

console.log(options.a.b.c); // 1
console.log(options.a.e); // 5
console.log(options.d.g); // 7

defaultConfig.d.g  = 8;
console.log(options.d.g); // 8

Defined in

src/core/helpers/utils/config-proto.ts#51


ConfigFlatten

ConfigFlatten(obj): IDictionary

Parameters

Name Type
obj IDictionary

Returns

IDictionary

Defined in

src/core/helpers/utils/config-proto.ts#102


ConfigDeepFlatten

ConfigDeepFlatten(obj): IDictionary

Returns a plain object from a prototype-based object.

const editor = Jodit.make('#editor', {
  image: {
    dialogWidth: 500
  }
});

console.log(editor.o.image.openOnDblClick) // true
// But you can't get all options in plain object
console.log(JSON.stringify(editor.o.image)); // {"dialogWidth":500}

const plain = Jodit.modules.Helpers.ConfigDeepFlatten(editor.o.image);
console.log(JSON.stringify(plain)); // {"dialogWidth":500, "openOnDblClick": true, "editSrc": true, ...}

Parameters

Name Type
obj IDictionary

Returns

IDictionary

Defined in

src/core/helpers/utils/config-proto.ts#126


convertMediaUrlToVideoEmbed

convertMediaUrlToVideoEmbed(url, «destructured»?): string

Javascript url pattern converter replace youtube/vimeo url in embed code.

Parameters

Name Type Default value
url string undefined
«destructured» Object {}
› width? number 400
› height? number 345

Returns

string

Defined in

src/core/helpers/utils/convert-media-url-to-video-embed.ts#19


css

css(element, key): string | number

Get the value of a computed style property for the first element in the set of matched elements or set one or
more CSS properties for every matched element

Parameters

Name Type Description
element HTMLElement HTML element
key keyof CSSStyleDeclaration An object of property-value pairs to set. A CSS property name.

Returns

string | number

Defined in

src/core/helpers/utils/css.ts#22

css(element, key): string | number

Get the value of a computed style property for the first element in the set of matched elements or set one or
more CSS properties for every matched element

Parameters

Name Type Description
element HTMLElement HTML element
key string | IStyle An object of property-value pairs to set. A CSS property name.

Returns

string | number

Defined in

src/core/helpers/utils/css.ts#27

css(element, key, value): string | number

Get the value of a computed style property for the first element in the set of matched elements or set one or
more CSS properties for every matched element

Parameters

Name Type Description
element HTMLElement HTML element
key string | IStyle An object of property-value pairs to set. A CSS property name.
value StyleValue A value to set for the property.

Returns

string | number

Defined in

src/core/helpers/utils/css.ts#32

css(element, key, onlyStyleMode): string | number

Get the value of a computed style property for the first element in the set of matched elements or set one or
more CSS properties for every matched element

Parameters

Name Type Description
element HTMLElement HTML element
key string | IStyle An object of property-value pairs to set. A CSS property name.
onlyStyleMode boolean Get value from style attribute, without calculating

Returns

string | number

Defined in

src/core/helpers/utils/css.ts#38


clearCenterAlign

clearCenterAlign(image): void

Clear center align

Parameters

Name Type
image HTMLElement

Returns

void

Defined in

src/core/helpers/utils/css.ts#123


ctrlKey

ctrlKey(e): boolean

CTRL pressed

Parameters

Name Type
e MouseEvent | KeyboardEvent

Returns

boolean

true ctrl key was pressed

Defined in

src/core/helpers/utils/ctrl-key.ts#15


dataBind

dataBind<T>(elm, key, value?): T

Type parameters

Name Type
T any

Parameters

Name Type
elm object | Node | IViewComponent<IViewBased<IViewOptions>>
key string
value? T

Returns

T

Defined in

src/core/helpers/utils/data-bind.ts#16


defaultLanguage

defaultLanguage(language?, defaultLanguage?): string

Try define user language

Parameters

Name Type Default value
language? string undefined
defaultLanguage string 'en'

Returns

string

Defined in

src/core/helpers/utils/default-language.ts#17


error

error(message): Error

Helper for create Error object

Parameters

Name Type
message string

Returns

Error

Defined in

src/core/helpers/utils/error/error.ts#16


connection

connection(message): Error

Parameters

Name Type
message string

Returns

Error

Defined in

src/core/helpers/utils/error/error.ts#20


options

options(message): Error

Parameters

Name Type
message string

Returns

Error

Defined in

src/core/helpers/utils/error/error.ts#24


abort

abort(message?): Error

Parameters

Name Type Default value
message string 'Aborted'

Returns

Error

Defined in

src/core/helpers/utils/error/errors/abort-error.ts#19


isAbort

isAbort(error): error is AbortError

Parameters

Name Type
error unknown

Returns

error is AbortError

Deprecated

use isAbortError instead

Defined in

src/core/helpers/utils/error/errors/abort-error.ts#26


isAtom

isAtom(obj): boolean

Parameters

Name Type
obj unknown

Returns

boolean

Defined in

src/core/helpers/utils/extend.ts#13


markAsAtomic

markAsAtomic<T>(obj): T

Type parameters

Name
T

Parameters

Name Type
obj T

Returns

T

Defined in

src/core/helpers/utils/extend.ts#17


fastClone

fastClone<T>(object): T

Type parameters

Name
T

Parameters

Name Type
object T

Returns

T

Defined in

src/core/helpers/utils/extend.ts#27


getClassName

getClassName(obj): string

Parameters

Name Type
obj IDictionary

Returns

string

Defined in

src/core/helpers/utils/get-class-name.ts#16


get

get<T>(chain, obj): Nullable<T>

Safe access in tree object

Type parameters

Name
T

Parameters

Name Type
chain string
obj IDictionary

Returns

Nullable<T>

Example

const obj = {
  a: {
    b: {
      c: {
        e: false
      }
    }
  }
};

console.log(Jodit.modules.Helpers.get('a.b.c.d.e', obj) === false); // true
console.log(Jodit.modules.Helpers.get('a.b.a.d.e', obj) === null); // false
Defined in

src/core/helpers/utils/get.ts#34


humanSizeToBytes

humanSizeToBytes(human): number

Converts from human readable file size (kb,mb,gb,tb) to bytes

Parameters

Name Type Description
human string readable file size. Example 1gb or 11.2mb

Returns

number

Defined in

src/core/helpers/utils/human-size-to-bytes.ts#15


markDeprecated

markDeprecated(method, names?, ctx?): (...args: any[]) => void

Mark function as deprecated

Parameters

Name Type Default value
method Function undefined
names string[] undefined
ctx any null

Returns

fn

(...args): void

Parameters
Name Type
...args any[]
Returns

void

Defined in

src/core/helpers/utils/mark-deprecated.ts#20


parseQuery

parseQuery(queryString): IDictionary<string>

Parse query string

Parameters

Name Type
queryString string

Returns

IDictionary<string>

Defined in

src/core/helpers/utils/parse-query.ts#16


reset

reset<T>(key): Nullable<T>

Reset Vanilla JS native function

Type parameters

Name Type
T extends Function

Parameters

Name Type
key string

Returns

Nullable<T>

Example

reset('Array.from')(Set([1,2,3])) // [1, 2, 3]

You must use the function derived from the method immediately as its iframe is being removed

Defined in

src/core/helpers/utils/reset.ts#27


inView

inView(elm, root, doc): boolean

Check if element is in view

Parameters

Name Type
elm HTMLElement
root HTMLElement
doc Document

Returns

boolean

Defined in

src/core/helpers/utils/scroll-into-view.ts#21


scrollIntoViewIfNeeded

scrollIntoViewIfNeeded(elm, root, doc): void

Scroll element into view if it is not in view

Parameters

Name Type
elm Nullable<Node>
root HTMLElement
doc Document

Returns

void

Defined in

src/core/helpers/utils/scroll-into-view.ts#55


$$

$$<T>(selector, root): T[]

Type parameters

Name Type
T extends HTMLElement

Parameters

Name Type
selector string
root HTMLElement | DocumentFragment

Returns

T[]

Defined in

src/core/helpers/utils/selector.ts#46


getXPathByElement

getXPathByElement(element, root): string

Calculate XPath selector

Parameters

Name Type
element HTMLElement
root HTMLElement

Returns

string

Defined in

src/core/helpers/utils/selector.ts#87


refs

refs<T>(root): IDictionary<T>

Find all ref or data-ref elements inside HTMLElement

Type parameters

Name Type
T extends HTMLElement

Parameters

Name Type
root HTMLElement | { container: HTMLElement }

Returns

IDictionary<T>

Defined in

src/core/helpers/utils/selector.ts#121


cssPath

cssPath(el): Nullable<string>

Calculate full CSS selector

Parameters

Name Type
el Element

Returns

Nullable<string>

Defined in

src/core/helpers/utils/selector.ts#143


resolveElement

resolveElement(element, od): HTMLElement

Try to find element by selector

Parameters

Name Type
element unknown
od Document | ShadowRoot

Returns

HTMLElement

Defined in

src/core/helpers/utils/selector.ts#185


set

set<T>(chain, value, obj): void

Safe access in tree object

Type parameters

Name
T

Parameters

Name Type
chain string
value unknown
obj IDictionary

Returns

void

Example

const a = {}, b = {};
Jodit.modules.Helpers.set('a.b.c.d.e', 1, a);
console.log(a);// {a: {b: {c: {d: {e: 1}}}}}

Jodit.modules.Helpers.set('a.0.e', 1, b);
console.log(b);// {a: [{e: 1}]}
Defined in

src/core/helpers/utils/set.ts#30


call

call<T, R>(func, ...args): R

Call function with parameters

Type parameters

Name Type
T extends any[]
R R

Parameters

Name Type
func (...args: T) => R
...args T

Returns

R

Example

const f = Math.random();
Jodit.modules.Helpers.call(f > 0.5 ? Math.ceil : Math.floor, f);
Defined in

src/core/helpers/utils/utils.ts#35


markOwner

markOwner(jodit, elm): void

Mark element for debugging

Parameters

Name Type
jodit IViewBased<IViewOptions>
elm HTMLElement

Returns

void

Defined in

src/core/helpers/utils/utils.ts#45


callPromise

callPromise(condition, callback?): CanPromise<void>

Parameters

Name Type
condition unknown
callback? () => any

Returns

CanPromise<void>

Defined in

src/core/helpers/utils/utils.ts#54


loadImage

loadImage(src, jodit): RejectablePromise<HTMLImageElement>

Allow load image in promise

Parameters

Name Type
src string
jodit IViewBased<IViewOptions>

Returns

RejectablePromise<HTMLImageElement>

Defined in

src/core/helpers/utils/utils.ts#73


keys

keys(obj, own?): string[]

Parameters

Name Type Default value
obj object undefined
own boolean true

Returns

string[]

Defined in

src/core/helpers/utils/utils.ts#100


memorizeExec

memorizeExec<T>(editor, _, «destructured», preProcessValue?): false | void

Memorize last user chose

Type parameters

Name Type
T extends IJodit = IJodit

Parameters

Name Type
editor T
_ unknown
«destructured» Object
› control IControlType<T, IToolbarButton>
preProcessValue? (value: string) => string

Returns

false | void

Defined in

src/core/helpers/utils/utils.ts#117


getDataTransfer

getDataTransfer(event): Nullable<DataTransfer>

Get DataTransfer from different event types

Parameters

Name Type
event ClipboardEvent | DragEvent

Returns

Nullable<DataTransfer>

Defined in

jodit/src/core/helpers/utils/utils.ts:143

previewBox

previewBox(editor, defaultValue?, points?, container?): [HTMLElement, () => void]

Generates a copy of an HTML document, resizes images, executes JS

beforePreviewBox(string | undefined, 'pt' | 'px' | '')
afterPreviewBox(HTMLElement)

Parameters

Name Type Default value
editor IJodit undefined
defaultValue? string undefined
points "" | "px" | "pt" 'px'
container Nullable<HTMLElement> null

Returns

[HTMLElement, () => void]

Defined in

jodit/src/core/helpers/utils/print.ts:71