editor.js/src/components/modules/api/readonly.ts
George Berezhnoy 6cd6bd5de3
Fix readOnly.isEnabled getter (#1831)
* Fix readOnly.isEnabled getter

* Add tests

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2022-04-25 20:40:29 +01:00

42 lines
942 B
TypeScript

import { ReadOnly } from '../../../../types/api';
import Module from '../../__module';
/**
* @class ReadOnlyAPI
* @classdesc ReadOnly API
*/
export default class ReadOnlyAPI extends Module {
/**
* Available methods
*/
public get methods(): ReadOnly {
const getIsEnabled = (): boolean => this.isEnabled;
// eslint-disable-next-line @typescript-eslint/no-this-alias
return {
toggle: (state): Promise<boolean> => this.toggle(state),
get isEnabled(): boolean {
return getIsEnabled();
},
};
}
/**
* Set or toggle read-only state
*
* @param {boolean|undefined} state - set or toggle state
*
* @returns {boolean} current value
*/
public toggle(state?: boolean): Promise<boolean> {
return this.Editor.ReadOnly.toggle(state);
}
/**
* Returns current read-only state
*/
public get isEnabled(): boolean {
return this.Editor.ReadOnly.isEnabled;
}
}