|
|
@@ -29,6 +29,7 @@ const PageSelectModalSubstance: FC = () => {
|
|
|
} = usePageSelectModal();
|
|
|
|
|
|
const [clickedParentPage, setClickedParentPage] = useState<IPageForItem | null>(null);
|
|
|
+ const [isIncludeSubPage, setIsIncludeSubPage] = useState(true);
|
|
|
|
|
|
const { t } = useTranslation();
|
|
|
|
|
|
@@ -36,6 +37,11 @@ const PageSelectModalSubstance: FC = () => {
|
|
|
const { data: isReadOnlyUser } = useIsReadOnlyUser();
|
|
|
const { data: targetAndAncestorsData } = useTargetAndAncestors();
|
|
|
const { data: currentPage } = useSWRxCurrentPage();
|
|
|
+ const { data: pageSelectModalData } = usePageSelectModal();
|
|
|
+
|
|
|
+ console.log('pageSelectModalData', pageSelectModalData);
|
|
|
+
|
|
|
+ const isHierarchicalSelectionMode = pageSelectModalData?.opts?.isHierarchicalSelectionMode ?? false;
|
|
|
|
|
|
const onClickTreeItem = useCallback((page: IPageForItem) => {
|
|
|
const parentPagePath = page.path;
|
|
|
@@ -54,11 +60,11 @@ const PageSelectModalSubstance: FC = () => {
|
|
|
|
|
|
const onClickDone = useCallback(() => {
|
|
|
if (clickedParentPage != null) {
|
|
|
- PageSelectModalData?.opts?.onSelected?.(clickedParentPage);
|
|
|
+ PageSelectModalData?.opts?.onSelected?.(clickedParentPage, isIncludeSubPage);
|
|
|
}
|
|
|
|
|
|
closeModal();
|
|
|
- }, [PageSelectModalData?.opts, clickedParentPage, closeModal]);
|
|
|
+ }, [PageSelectModalData?.opts, clickedParentPage, closeModal, isIncludeSubPage]);
|
|
|
|
|
|
const parentPagePath = pathUtils.addTrailingSlash(nodePath.dirname(currentPage?.path ?? ''));
|
|
|
|
|
|
@@ -91,12 +97,24 @@ const PageSelectModalSubstance: FC = () => {
|
|
|
</Suspense>
|
|
|
</ModalBody>
|
|
|
<ModalFooter className="border-top d-flex flex-column">
|
|
|
- <div className="form-check form-check-info align-self-start ms-4">
|
|
|
- <input type="checkbox" id="includeSubPages" className="form-check-input" name="fileUpload" />
|
|
|
- <label className="form-label form-check-label" htmlFor="includeSubPages">
|
|
|
- {t('Include Subordinated Page')}
|
|
|
- </label>
|
|
|
- </div>
|
|
|
+ { isHierarchicalSelectionMode && (
|
|
|
+ <div className="form-check form-check-info align-self-start ms-4">
|
|
|
+ <input
|
|
|
+ type="checkbox"
|
|
|
+ id="includeSubPages"
|
|
|
+ className="form-check-input"
|
|
|
+ name="fileUpload"
|
|
|
+ checked={isIncludeSubPage}
|
|
|
+ onChange={() => setIsIncludeSubPage(!isIncludeSubPage)}
|
|
|
+ />
|
|
|
+ <label
|
|
|
+ className="form-label form-check-label"
|
|
|
+ htmlFor="includeSubPages"
|
|
|
+ >
|
|
|
+ {t('Include Subordinated Page')}
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
<div className="d-flex gap-2 align-self-end">
|
|
|
<Button color="secondary" onClick={onClickCancel}>{t('Cancel')}</Button>
|
|
|
<Button color="primary" onClick={onClickDone}>{t('Done')}</Button>
|