chore(core): remove template doc feature flag (#10252)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { AIChatBlockSpec } from '@affine/core/blocksuite/presets/blocks/ai-chat-block';
|
import { AIChatBlockSpec } from '@affine/core/blocksuite/presets/blocks/ai-chat-block';
|
||||||
import { PeekViewService } from '@affine/core/modules/peek-view';
|
import { PeekViewService } from '@affine/core/modules/peek-view/services/peek-view';
|
||||||
import { AppThemeService } from '@affine/core/modules/theme';
|
import { AppThemeService } from '@affine/core/modules/theme';
|
||||||
import {
|
import {
|
||||||
type BlockStdScope,
|
type BlockStdScope,
|
||||||
|
|||||||
@@ -66,9 +66,6 @@ const StarterBarNotEmpty = ({ doc }: { doc: Store }) => {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
const enableAI = useLiveData(featureFlagService.flags.enable_ai.$);
|
const enableAI = useLiveData(featureFlagService.flags.enable_ai.$);
|
||||||
const enableTemplateDoc = useLiveData(
|
|
||||||
featureFlagService.flags.enable_template_doc.$
|
|
||||||
);
|
|
||||||
|
|
||||||
const handleSelectTemplate = useAsyncCallback(
|
const handleSelectTemplate = useAsyncCallback(
|
||||||
async (templateId: string) => {
|
async (templateId: string) => {
|
||||||
@@ -109,7 +106,7 @@ const StarterBarNotEmpty = ({ doc }: { doc: Store }) => {
|
|||||||
}
|
}
|
||||||
}, [editorService.editor]);
|
}, [editorService.editor]);
|
||||||
|
|
||||||
const showTemplate = !isTemplate && enableTemplateDoc;
|
const showTemplate = !isTemplate;
|
||||||
|
|
||||||
if (!enableAI && !showTemplate) {
|
if (!enableAI && !showTemplate) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import type {
|
|||||||
DatabaseRow,
|
DatabaseRow,
|
||||||
DatabaseValueCell,
|
DatabaseValueCell,
|
||||||
} from '@affine/core/modules/doc-info/types';
|
} from '@affine/core/modules/doc-info/types';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { GuardService } from '@affine/core/modules/permissions';
|
import { GuardService } from '@affine/core/modules/permissions';
|
||||||
import { ViewService, WorkbenchService } from '@affine/core/modules/workbench';
|
import { ViewService, WorkbenchService } from '@affine/core/modules/workbench';
|
||||||
import type { AffineDNDData } from '@affine/core/types/dnd';
|
import type { AffineDNDData } from '@affine/core/types/dnd';
|
||||||
@@ -132,13 +131,10 @@ export const DocPropertyRow = ({
|
|||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
const docService = useService(DocService);
|
const docService = useService(DocService);
|
||||||
const docsService = useService(DocsService);
|
const docsService = useService(DocsService);
|
||||||
const featureFlagService = useService(FeatureFlagService);
|
|
||||||
const customPropertyValue = useLiveData(
|
const customPropertyValue = useLiveData(
|
||||||
docService.doc.customProperty$(propertyInfo.id)
|
docService.doc.customProperty$(propertyInfo.id)
|
||||||
);
|
);
|
||||||
const enableTemplateDoc = useLiveData(
|
|
||||||
featureFlagService.flags.enable_template_doc.$
|
|
||||||
);
|
|
||||||
const typeInfo = isSupportedDocPropertyType(propertyInfo.type)
|
const typeInfo = isSupportedDocPropertyType(propertyInfo.type)
|
||||||
? DocPropertyTypes[propertyInfo.type]
|
? DocPropertyTypes[propertyInfo.type]
|
||||||
: undefined;
|
: undefined;
|
||||||
@@ -215,9 +211,6 @@ export const DocPropertyRow = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (!ValueRenderer || typeof ValueRenderer !== 'function') return null;
|
if (!ValueRenderer || typeof ValueRenderer !== 'function') return null;
|
||||||
if (propertyInfo.id === 'template' && !enableTemplateDoc) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PropertyRoot
|
<PropertyRoot
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
import { Menu, MenuItem, MenuSeparator } from '@affine/component';
|
import { Menu, MenuItem, MenuSeparator } from '@affine/component';
|
||||||
import { MenuItem as SidebarMenuItem } from '@affine/core/modules/app-sidebar/views';
|
import { MenuItem as SidebarMenuItem } from '@affine/core/modules/app-sidebar/views';
|
||||||
import { DocsService } from '@affine/core/modules/doc';
|
import { DocsService } from '@affine/core/modules/doc';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
||||||
import { WorkbenchService } from '@affine/core/modules/workbench';
|
import { WorkbenchService } from '@affine/core/modules/workbench';
|
||||||
import { inferOpenMode } from '@affine/core/utils';
|
import { inferOpenMode } from '@affine/core/utils';
|
||||||
import { useI18n } from '@affine/i18n';
|
import { useI18n } from '@affine/i18n';
|
||||||
import track from '@affine/track';
|
import track from '@affine/track';
|
||||||
import { TemplateIcon } from '@blocksuite/icons/rc';
|
import { TemplateIcon } from '@blocksuite/icons/rc';
|
||||||
import { useLiveData, useService } from '@toeverything/infra';
|
import { useService } from '@toeverything/infra';
|
||||||
import { useCallback, useState } from 'react';
|
import { useCallback, useState } from 'react';
|
||||||
|
|
||||||
export const TemplateDocEntrance = () => {
|
export const TemplateDocEntrance = () => {
|
||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
const [menuOpen, setMenuOpen] = useState(false);
|
const [menuOpen, setMenuOpen] = useState(false);
|
||||||
const featureFlagService = useService(FeatureFlagService);
|
|
||||||
const enabled = useLiveData(featureFlagService.flags.enable_template_doc.$);
|
|
||||||
|
|
||||||
const toggleMenu = useCallback(() => {
|
const toggleMenu = useCallback(() => {
|
||||||
setMenuOpen(prev => !prev);
|
setMenuOpen(prev => !prev);
|
||||||
@@ -26,10 +23,6 @@ export const TemplateDocEntrance = () => {
|
|||||||
setMenuOpen(open);
|
setMenuOpen(open);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
if (!enabled) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SidebarMenuItem
|
<SidebarMenuItem
|
||||||
data-testid="sidebar-template-doc-entrance"
|
data-testid="sidebar-template-doc-entrance"
|
||||||
|
|||||||
@@ -10,25 +10,18 @@ import {
|
|||||||
} from '@affine/component/setting-components';
|
} from '@affine/component/setting-components';
|
||||||
import { DocsService } from '@affine/core/modules/doc';
|
import { DocsService } from '@affine/core/modules/doc';
|
||||||
import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta';
|
import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
||||||
import { TemplateListMenu } from '@affine/core/modules/template-doc/view/template-list-menu';
|
import { TemplateListMenu } from '@affine/core/modules/template-doc/view/template-list-menu';
|
||||||
import { useI18n } from '@affine/i18n';
|
import { useI18n } from '@affine/i18n';
|
||||||
import { DeleteIcon } from '@blocksuite/icons/rc';
|
import { DeleteIcon } from '@blocksuite/icons/rc';
|
||||||
import { useLiveData, useService, useServices } from '@toeverything/infra';
|
import { useLiveData, useService } from '@toeverything/infra';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
import * as styles from './template.css';
|
import * as styles from './template.css';
|
||||||
|
|
||||||
export const TemplateDocSetting = () => {
|
export const TemplateDocSetting = () => {
|
||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
const { featureFlagService, templateDocService } = useServices({
|
const setting = useService(TemplateDocService).setting;
|
||||||
FeatureFlagService,
|
|
||||||
TemplateDocService,
|
|
||||||
});
|
|
||||||
const setting = templateDocService.setting;
|
|
||||||
|
|
||||||
const enabled = useLiveData(featureFlagService.flags.enable_template_doc.$);
|
|
||||||
|
|
||||||
const enablePageTemplate = useLiveData(setting.enablePageTemplate$);
|
const enablePageTemplate = useLiveData(setting.enablePageTemplate$);
|
||||||
const pageTemplateDocId = useLiveData(setting.pageTemplateDocId$);
|
const pageTemplateDocId = useLiveData(setting.pageTemplateDocId$);
|
||||||
@@ -55,8 +48,6 @@ export const TemplateDocSetting = () => {
|
|||||||
[setting]
|
[setting]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!enabled) return null;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SettingWrapper title={t['com.affine.settings.workspace.template.title']()}>
|
<SettingWrapper title={t['com.affine.settings.workspace.template.title']()}>
|
||||||
<SettingRow
|
<SettingRow
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { Button, IconButton, Menu } from '@affine/component';
|
import { Button, IconButton, Menu } from '@affine/component';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { GlobalStateService } from '@affine/core/modules/storage';
|
import { GlobalStateService } from '@affine/core/modules/storage';
|
||||||
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
||||||
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
||||||
@@ -19,11 +18,7 @@ let animationPlayed = false;
|
|||||||
export const JournalTemplateOnboarding = () => {
|
export const JournalTemplateOnboarding = () => {
|
||||||
const containerRef = useRef<HTMLDivElement>(null);
|
const containerRef = useRef<HTMLDivElement>(null);
|
||||||
const globalState = useService(GlobalStateService).globalState;
|
const globalState = useService(GlobalStateService).globalState;
|
||||||
const featureFlagService = useService(FeatureFlagService);
|
|
||||||
const templateDocService = useService(TemplateDocService);
|
const templateDocService = useService(TemplateDocService);
|
||||||
const enableTemplate = useLiveData(
|
|
||||||
featureFlagService.flags.enable_template_doc.$
|
|
||||||
);
|
|
||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
|
|
||||||
const dismissed = useLiveData(
|
const dismissed = useLiveData(
|
||||||
@@ -65,7 +60,7 @@ export const JournalTemplateOnboarding = () => {
|
|||||||
[templateDocService.setting]
|
[templateDocService.setting]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (dismissed || !enableTemplate) return null;
|
if (dismissed) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils';
|
import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils';
|
||||||
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
||||||
import { DocsService } from '@affine/core/modules/doc';
|
import { DocsService } from '@affine/core/modules/doc';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
||||||
import { WorkbenchService } from '@affine/core/modules/workbench';
|
import { WorkbenchService } from '@affine/core/modules/workbench';
|
||||||
import { WorkspaceService } from '@affine/core/modules/workspace';
|
import { WorkspaceService } from '@affine/core/modules/workspace';
|
||||||
@@ -15,15 +14,11 @@ import { TabItem } from './tab-item';
|
|||||||
export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => {
|
export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => {
|
||||||
const workbench = useService(WorkbenchService).workbench;
|
const workbench = useService(WorkbenchService).workbench;
|
||||||
const workspaceService = useService(WorkspaceService);
|
const workspaceService = useService(WorkspaceService);
|
||||||
const featureFlagService = useService(FeatureFlagService);
|
|
||||||
const templateDocService = useService(TemplateDocService);
|
const templateDocService = useService(TemplateDocService);
|
||||||
const docsService = useService(DocsService);
|
const docsService = useService(DocsService);
|
||||||
|
|
||||||
const currentWorkspace = workspaceService.workspace;
|
const currentWorkspace = workspaceService.workspace;
|
||||||
const pageHelper = usePageHelper(currentWorkspace.docCollection);
|
const pageHelper = usePageHelper(currentWorkspace.docCollection);
|
||||||
const enableTemplateDoc = useLiveData(
|
|
||||||
featureFlagService.flags.enable_template_doc.$
|
|
||||||
);
|
|
||||||
const enablePageTemplate = useLiveData(
|
const enablePageTemplate = useLiveData(
|
||||||
templateDocService.setting.enablePageTemplate$
|
templateDocService.setting.enablePageTemplate$
|
||||||
);
|
);
|
||||||
@@ -34,7 +29,7 @@ export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => {
|
|||||||
const createPage = useAsyncCallback(
|
const createPage = useAsyncCallback(
|
||||||
async (isActive: boolean) => {
|
async (isActive: boolean) => {
|
||||||
if (isActive) return;
|
if (isActive) return;
|
||||||
if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) {
|
if (enablePageTemplate && pageTemplateDocId) {
|
||||||
const docId =
|
const docId =
|
||||||
await docsService.duplicateFromTemplate(pageTemplateDocId);
|
await docsService.duplicateFromTemplate(pageTemplateDocId);
|
||||||
workbench.openDoc({ docId, fromTab: 'true' });
|
workbench.openDoc({ docId, fromTab: 'true' });
|
||||||
@@ -44,14 +39,7 @@ export const AppTabCreate = ({ tab }: AppTabCustomFCProps) => {
|
|||||||
}
|
}
|
||||||
track.$.navigationPanel.$.createDoc();
|
track.$.navigationPanel.$.createDoc();
|
||||||
},
|
},
|
||||||
[
|
[docsService, enablePageTemplate, pageHelper, pageTemplateDocId, workbench]
|
||||||
docsService,
|
|
||||||
enablePageTemplate,
|
|
||||||
enableTemplateDoc,
|
|
||||||
pageHelper,
|
|
||||||
pageTemplateDocId,
|
|
||||||
workbench,
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-pa
|
|||||||
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
||||||
import { DocsService } from '@affine/core/modules/doc';
|
import { DocsService } from '@affine/core/modules/doc';
|
||||||
import { EditorSettingService } from '@affine/core/modules/editor-setting';
|
import { EditorSettingService } from '@affine/core/modules/editor-setting';
|
||||||
import { FeatureFlagService } from '@affine/core/modules/feature-flag';
|
|
||||||
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
import { TemplateDocService } from '@affine/core/modules/template-doc';
|
||||||
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
import { TemplateListMenuContentScrollable } from '@affine/core/modules/template-doc/view/template-list-menu';
|
||||||
import { WorkbenchService } from '@affine/core/modules/workbench';
|
import { WorkbenchService } from '@affine/core/modules/workbench';
|
||||||
@@ -30,16 +29,11 @@ import * as styles from './index.css';
|
|||||||
* @return a function to create a new doc, will duplicate the template doc if the page template is enabled
|
* @return a function to create a new doc, will duplicate the template doc if the page template is enabled
|
||||||
*/
|
*/
|
||||||
const useNewDoc = () => {
|
const useNewDoc = () => {
|
||||||
const featureFlagService = useService(FeatureFlagService);
|
|
||||||
const workspaceService = useService(WorkspaceService);
|
const workspaceService = useService(WorkspaceService);
|
||||||
const templateDocService = useService(TemplateDocService);
|
const templateDocService = useService(TemplateDocService);
|
||||||
const docsService = useService(DocsService);
|
const docsService = useService(DocsService);
|
||||||
const workbench = useService(WorkbenchService).workbench;
|
const workbench = useService(WorkbenchService).workbench;
|
||||||
|
|
||||||
const enableTemplateDoc = useLiveData(
|
|
||||||
featureFlagService.flags.enable_template_doc.$
|
|
||||||
);
|
|
||||||
|
|
||||||
const currentWorkspace = workspaceService.workspace;
|
const currentWorkspace = workspaceService.workspace;
|
||||||
const enablePageTemplate = useLiveData(
|
const enablePageTemplate = useLiveData(
|
||||||
templateDocService.setting.enablePageTemplate$
|
templateDocService.setting.enablePageTemplate$
|
||||||
@@ -52,7 +46,7 @@ const useNewDoc = () => {
|
|||||||
|
|
||||||
const createPage = useAsyncCallback(
|
const createPage = useAsyncCallback(
|
||||||
async (e?: MouseEvent, mode?: DocMode) => {
|
async (e?: MouseEvent, mode?: DocMode) => {
|
||||||
if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) {
|
if (enablePageTemplate && pageTemplateDocId) {
|
||||||
const docId =
|
const docId =
|
||||||
await docsService.duplicateFromTemplate(pageTemplateDocId);
|
await docsService.duplicateFromTemplate(pageTemplateDocId);
|
||||||
workbench.openDoc(docId, { at: inferOpenMode(e) });
|
workbench.openDoc(docId, { at: inferOpenMode(e) });
|
||||||
@@ -60,14 +54,7 @@ const useNewDoc = () => {
|
|||||||
pageHelper.createPage(mode, { at: inferOpenMode(e) });
|
pageHelper.createPage(mode, { at: inferOpenMode(e) });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[
|
[docsService, enablePageTemplate, pageHelper, pageTemplateDocId, workbench]
|
||||||
docsService,
|
|
||||||
enablePageTemplate,
|
|
||||||
enableTemplateDoc,
|
|
||||||
pageHelper,
|
|
||||||
pageTemplateDocId,
|
|
||||||
workbench,
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return createPage;
|
return createPage;
|
||||||
|
|||||||
@@ -222,15 +222,6 @@ export const AFFINE_FLAGS = {
|
|||||||
configurable: !isMobile,
|
configurable: !isMobile,
|
||||||
defaultState: false,
|
defaultState: false,
|
||||||
},
|
},
|
||||||
// TODO(@CatsJuice): remove this flag when ready
|
|
||||||
enable_template_doc: {
|
|
||||||
category: 'affine',
|
|
||||||
displayName: 'Enable template doc',
|
|
||||||
description:
|
|
||||||
'Allow users to mark a doc as a template, and create new docs from it',
|
|
||||||
configurable: true,
|
|
||||||
defaultState: isCanaryBuild,
|
|
||||||
},
|
|
||||||
enable_editor_rtl: {
|
enable_editor_rtl: {
|
||||||
category: 'affine',
|
category: 'affine',
|
||||||
displayName:
|
displayName:
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import { type Framework } from '@toeverything/infra';
|
|||||||
|
|
||||||
import { DocScope, DocService, DocsService } from '../doc';
|
import { DocScope, DocService, DocsService } from '../doc';
|
||||||
import { EditorSettingService } from '../editor-setting';
|
import { EditorSettingService } from '../editor-setting';
|
||||||
import { FeatureFlagService } from '../feature-flag';
|
|
||||||
import { TemplateDocService } from '../template-doc';
|
import { TemplateDocService } from '../template-doc';
|
||||||
import { WorkspaceScope } from '../workspace';
|
import { WorkspaceScope } from '../workspace';
|
||||||
import { JournalService } from './services/journal';
|
import { JournalService } from './services/journal';
|
||||||
@@ -25,7 +24,6 @@ export function configureJournalModule(framework: Framework) {
|
|||||||
DocsService,
|
DocsService,
|
||||||
EditorSettingService,
|
EditorSettingService,
|
||||||
TemplateDocService,
|
TemplateDocService,
|
||||||
FeatureFlagService,
|
|
||||||
])
|
])
|
||||||
.store(JournalStore, [DocsService])
|
.store(JournalStore, [DocsService])
|
||||||
.scope(DocScope)
|
.scope(DocScope)
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import {
|
|||||||
} from '../../../blocksuite/initialization';
|
} from '../../../blocksuite/initialization';
|
||||||
import type { DocsService } from '../../doc';
|
import type { DocsService } from '../../doc';
|
||||||
import type { EditorSettingService } from '../../editor-setting';
|
import type { EditorSettingService } from '../../editor-setting';
|
||||||
import type { FeatureFlagService } from '../../feature-flag';
|
|
||||||
import type { TemplateDocService } from '../../template-doc';
|
import type { TemplateDocService } from '../../template-doc';
|
||||||
import type { JournalStore } from '../store/journal';
|
import type { JournalStore } from '../store/journal';
|
||||||
|
|
||||||
@@ -21,8 +20,7 @@ export class JournalService extends Service {
|
|||||||
private readonly store: JournalStore,
|
private readonly store: JournalStore,
|
||||||
private readonly docsService: DocsService,
|
private readonly docsService: DocsService,
|
||||||
private readonly editorSettingService: EditorSettingService,
|
private readonly editorSettingService: EditorSettingService,
|
||||||
private readonly templateDocService: TemplateDocService,
|
private readonly templateDocService: TemplateDocService
|
||||||
private readonly featureFlagService: FeatureFlagService
|
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@@ -66,8 +64,6 @@ export class JournalService extends Service {
|
|||||||
.getTime(),
|
.getTime(),
|
||||||
});
|
});
|
||||||
|
|
||||||
const enableTemplateDoc =
|
|
||||||
this.featureFlagService.flags.enable_template_doc.value;
|
|
||||||
const enablePageTemplate =
|
const enablePageTemplate =
|
||||||
this.templateDocService.setting.enablePageTemplate$.value;
|
this.templateDocService.setting.enablePageTemplate$.value;
|
||||||
const pageTemplateDocId =
|
const pageTemplateDocId =
|
||||||
@@ -75,13 +71,13 @@ export class JournalService extends Service {
|
|||||||
const journalTemplateDocId =
|
const journalTemplateDocId =
|
||||||
this.templateDocService.setting.journalTemplateDocId$.value;
|
this.templateDocService.setting.journalTemplateDocId$.value;
|
||||||
// if journal template configured
|
// if journal template configured
|
||||||
if (enableTemplateDoc && journalTemplateDocId) {
|
if (journalTemplateDocId) {
|
||||||
this.docsService
|
this.docsService
|
||||||
.duplicateFromTemplate(journalTemplateDocId, docRecord.id)
|
.duplicateFromTemplate(journalTemplateDocId, docRecord.id)
|
||||||
.catch(console.error);
|
.catch(console.error);
|
||||||
}
|
}
|
||||||
// journal template not configured, use page template
|
// journal template not configured, use page template
|
||||||
else if (enableTemplateDoc && enablePageTemplate && pageTemplateDocId) {
|
else if (enablePageTemplate && pageTemplateDocId) {
|
||||||
this.docsService
|
this.docsService
|
||||||
.duplicateFromTemplate(pageTemplateDocId, docRecord.id)
|
.duplicateFromTemplate(pageTemplateDocId, docRecord.id)
|
||||||
.catch(console.error);
|
.catch(console.error);
|
||||||
|
|||||||
Reference in New Issue
Block a user