mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	publish API to allow manipulating list of allowed mime types for #192
This commit is contained in:
		
							parent
							
								
									5f95ab95c9
								
							
						
					
					
						commit
						b09071eb9b
					
				@ -5,6 +5,7 @@ import infoService from './info.js';
 | 
			
		||||
import linkService from './link.js';
 | 
			
		||||
import treeCache from './tree_cache.js';
 | 
			
		||||
import noteDetailService from './note_detail.js';
 | 
			
		||||
import noteTypeService from './note_type.js';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This is the main frontend API interface for scripts. It's published in the local "api" object.
 | 
			
		||||
@ -204,6 +205,24 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
     * @param {function} func - callback called on note change as user is typing (not necessarily tied to save event)
 | 
			
		||||
     */
 | 
			
		||||
    this.onNoteChange = noteDetailService.onNoteChange;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     * @returns {array} list of default code mime types
 | 
			
		||||
     */
 | 
			
		||||
    this.getDefaultCodeMimeTypes = noteTypeService.getDefaultCodeMimeTypes;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     * @returns {array} list of currently used code mime types
 | 
			
		||||
     */
 | 
			
		||||
    this.getCodeMimeTypes = noteTypeService.getCodeMimeTypes;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {array} types - list of mime types to be used
 | 
			
		||||
     */
 | 
			
		||||
    this.setCodeMimeTypes = noteTypeService.setCodeMimeTypes;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default FrontendScriptApi;
 | 
			
		||||
@ -7,15 +7,7 @@ const $executeScriptButton = $("#execute-script-button");
 | 
			
		||||
const $toggleEditButton = $('#toggle-edit-button');
 | 
			
		||||
const $renderButton = $('#render-button');
 | 
			
		||||
 | 
			
		||||
const noteTypeModel = new NoteTypeModel();
 | 
			
		||||
 | 
			
		||||
function NoteTypeModel() {
 | 
			
		||||
    const self = this;
 | 
			
		||||
 | 
			
		||||
    this.type = ko.observable('text');
 | 
			
		||||
    this.mime = ko.observable('');
 | 
			
		||||
 | 
			
		||||
    this.codeMimeTypes = ko.observableArray([
 | 
			
		||||
const DEFAULT_MIME_TYPES = [
 | 
			
		||||
    { mime: 'text/x-csrc', title: 'C' },
 | 
			
		||||
    { mime: 'text/x-c++src', title: 'C++' },
 | 
			
		||||
    { mime: 'text/x-csharp', title: 'C#' },
 | 
			
		||||
@ -50,7 +42,17 @@ function NoteTypeModel() {
 | 
			
		||||
    { mime: 'text/x-swift', title: 'Swift' },
 | 
			
		||||
    { mime: 'text/xml', title: 'XML' },
 | 
			
		||||
    { mime: 'text/x-yaml', title: 'YAML' }
 | 
			
		||||
    ]);
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const noteTypeModel = new NoteTypeModel();
 | 
			
		||||
 | 
			
		||||
function NoteTypeModel() {
 | 
			
		||||
    const self = this;
 | 
			
		||||
 | 
			
		||||
    this.type = ko.observable('text');
 | 
			
		||||
    this.mime = ko.observable('');
 | 
			
		||||
 | 
			
		||||
    this.codeMimeTypes = ko.observableArray(DEFAULT_MIME_TYPES);
 | 
			
		||||
 | 
			
		||||
    this.typeString = function() {
 | 
			
		||||
        const type = self.type();
 | 
			
		||||
@ -149,5 +151,9 @@ export default {
 | 
			
		||||
        noteTypeModel.mime(mime);
 | 
			
		||||
 | 
			
		||||
        noteTypeModel.updateExecuteScriptButtonVisibility();
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    getDefaultCodeMimeTypes: () => DEFAULT_MIME_TYPES.slice(),
 | 
			
		||||
    getCodeMimeTypes: () => noteTypeModel.codeMimeTypes(),
 | 
			
		||||
    setCodeMimeTypes: types => noteTypeModel.codeMimeTypes(types)
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user