anki/ts/image-occlusion/index.ts
Mani 135de7f9ed
image occlusion button in note editor (#2485)
* setup mask editor in note editor
- add image on mask button click (only one time)
- show hide add button for io on notetype change
- hide field in io notetype
- icon for toggle
and replace image

* add update io notes

* Tidy up i/o notetype check and fix error

- Make it a method on editor
- Use .get(), because the setting doesn't exist on older notetypes
- Pass the bool value into the ts code, instead of the enum

* reset io page after adding

* remove adjust function & add target for mask editor

* handle browse mode & merged sidetoolbar and toptoolbar to toolbar

* fix: shape, button click in browse, dropdown menu

* add arrow to add button

* store for handling visiblity of maskeditor
- remove update  button in edit mode, implement autoupdate

* update var name

* simplify store
2023-07-27 22:45:49 +10:00

44 lines
1.2 KiB
TypeScript

// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
import "./image-occlusion-base.scss";
import { ModuleName, setupI18n } from "@tslib/i18n";
import { checkNightMode } from "../lib/nightmode";
import ImageOcclusionPage from "./ImageOcclusionPage.svelte";
import type { IOMode } from "./lib";
const i18n = setupI18n({
modules: [
ModuleName.IMPORTING,
ModuleName.DECKS,
ModuleName.EDITING,
ModuleName.NOTETYPES,
ModuleName.ACTIONS,
ModuleName.BROWSING,
],
});
export async function setupImageOcclusion(mode: IOMode, target = document.body): Promise<ImageOcclusionPage> {
checkNightMode();
await i18n;
return new ImageOcclusionPage({
target: target,
props: {
mode,
},
});
}
if (window.location.hash.startsWith("#test-")) {
const imagePath = window.location.hash.replace("#test-", "");
setupImageOcclusion({ kind: "add", imagePath, notetypeId: 0 });
}
if (window.location.hash.startsWith("#testforedit-")) {
const noteId = parseInt(window.location.hash.replace("#testforedit-", ""));
setupImageOcclusion({ kind: "edit", noteId });
}