|
|
|
@ -26,6 +26,11 @@ |
|
|
|
|
:helper-text="validity" |
|
|
|
|
:label="label" |
|
|
|
|
:value.sync="localDefaultName" /> |
|
|
|
|
|
|
|
|
|
<!-- Hidden file warning --> |
|
|
|
|
<NcNoteCard v-if="isHiddenFileName" |
|
|
|
|
type="warning" |
|
|
|
|
:text="t('files', 'Files starting with a dot are hidden by default')" /> |
|
|
|
|
</form> |
|
|
|
|
</NcDialog> |
|
|
|
|
</template> |
|
|
|
@ -35,12 +40,13 @@ import type { ComponentPublicInstance, PropType } from 'vue' |
|
|
|
|
import { getUniqueName } from '@nextcloud/files' |
|
|
|
|
import { t } from '@nextcloud/l10n' |
|
|
|
|
import { extname } from 'path' |
|
|
|
|
import { nextTick, onMounted, ref, watch, watchEffect } from 'vue' |
|
|
|
|
import { computed, nextTick, onMounted, ref, watch, watchEffect } from 'vue' |
|
|
|
|
import { getFilenameValidity } from '../utils/filenameValidity.ts' |
|
|
|
|
|
|
|
|
|
import NcButton from '@nextcloud/vue/components/NcButton' |
|
|
|
|
import NcDialog from '@nextcloud/vue/components/NcDialog' |
|
|
|
|
import NcTextField from '@nextcloud/vue/components/NcTextField' |
|
|
|
|
import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' |
|
|
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
|
|
/** |
|
|
|
@ -89,6 +95,11 @@ const nameInput = ref<ComponentPublicInstance>() |
|
|
|
|
const formElement = ref<HTMLFormElement>() |
|
|
|
|
const validity = ref('') |
|
|
|
|
|
|
|
|
|
const isHiddenFileName = computed(() => { |
|
|
|
|
// Check if the name starts with a dot, which indicates a hidden file |
|
|
|
|
return localDefaultName.value.trim().startsWith('.') |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Focus the filename input field |
|
|
|
|
*/ |
|
|
|
|