Link remixd websocket plugin apis

pull/262/head
ioedeveloper 4 years ago committed by yann300
parent 422efde77b
commit 12c4ef65d3
  1. 34
      src/app/files/remixDProvider.js
  2. 6
      src/app/files/remixd-handle.js
  3. 3
      src/app/panels/file-panel.js

@ -59,12 +59,10 @@ module.exports = class RemixDProvider {
cb() cb()
} }
async init (cb) { init (cb) {
await this._appManager.call('remixd', 'sharedFolder', { currentSharedFolder })
this._appManager.call('remixd', 'folderIsReadOnly', {}).then((result) => { this._appManager.call('remixd', 'folderIsReadOnly', {}).then((result) => {
this._isReady = true this._isReady = true
this._readOnlyMode = result this._readOnlyMode = result
console.log('this._readOnlyMode: ', this._readOnlyMode)
cb && cb() cb && cb()
}).catch((error) => { }).catch((error) => {
cb && cb(error) cb && cb(error)
@ -81,13 +79,13 @@ module.exports = class RemixDProvider {
// //
// this.remixd.exists(path, (error, isValid) => {}) // this.remixd.exists(path, (error, isValid) => {})
async exists (path, cb) { exists (path, cb) {
const unprefixedpath = this.removePrefix(path) const unprefixedpath = this.removePrefix(path)
this._appManager.call('remixd', 'exists', {path: unprefixedpath}).then((result) => { return this._appManager.call('remixd', 'exists', { path: unprefixedpath }).then((result) => {
return cb && cb(null, result) return cb(null, result)
}).catch((error) => { }).catch((error) => {
return cb && cb(error) return cb(error)
}) })
} }
@ -101,16 +99,14 @@ module.exports = class RemixDProvider {
get (path, cb) { get (path, cb) {
var unprefixedpath = this.removePrefix(path) var unprefixedpath = this.removePrefix(path)
this._appManager.call('remixd', 'get', {path: unprefixedpath}, (error, file) => { this._appManager.call('remixd', 'get', { path: unprefixedpath }).then((file) => {
if (!error) { this.filesContent[path] = file.content
this.filesContent[path] = file.content if (file.readonly) { this._readOnlyFiles[path] = 1 }
if (file.readonly) { this._readOnlyFiles[path] = 1 } cb(error, file.content)
cb(error, file.content) }).catch((error) => {
} else { // display the last known content.
// display the last known content. // TODO should perhaps better warn the user that the file is not synced.
// TODO should perhaps better warn the user that the file is not synced. cb(null, this.filesContent[path])
cb(null, this.filesContent[path])
}
}) })
} }
@ -190,9 +186,8 @@ module.exports = class RemixDProvider {
async isFile (path) { async isFile (path) {
const unprefixedpath = this.removePrefix(path) const unprefixedpath = this.removePrefix(path)
const callId = await this._appManager.call('remixd', 'isFile', {path: unprefixedpath})
return await this._remixd.receiveResponse(callId) return await this._appManager.call('remixd', 'isFile', { path: unprefixedpath })
} }
} }
@ -221,7 +216,6 @@ function remixapi (appManager, self) {
path = '' + (path || '') path = '' + (path || '')
path = pathtool.join('./', path) path = pathtool.join('./', path)
appManager.call('remixd', 'resolveDirectory', { path }).then((filesList) => { appManager.call('remixd', 'resolveDirectory', { path }).then((filesList) => {
console.log('filesList: ', filesList)
callback(null, filesList) callback(null, filesList)
}).catch((error) => { }).catch((error) => {
callback(error) callback(error)

@ -21,7 +21,7 @@ var css = csjs`
const profile = { const profile = {
name: 'remixd', name: 'remixd',
url: 'ws://127.0.0.1:65520', url: 'ws://127.0.0.1:65520',
methods: ['folderIsReadOnly', 'resolveDirectory'], methods: ['folderIsReadOnly', 'resolveDirectory', 'get', 'exists', 'isFile'],
events: [], events: [],
description: 'Using Remixd daemon, allow to access file system', description: 'Using Remixd daemon, allow to access file system',
kind: 'other', kind: 'other',
@ -82,7 +82,7 @@ export class RemixdHandle extends WebsocketPlugin {
fn: () => { fn: () => {
try { try {
super.activate() super.activate()
setTimeout(() => { connection() }, 3000) setTimeout(() => { connection() }, 2000)
} catch(error) { } catch(error) {
connection(error) connection(error)
} }
@ -97,7 +97,7 @@ export class RemixdHandle extends WebsocketPlugin {
} else { } else {
try { try {
super.activate() super.activate()
setTimeout(() => { connection() }, 3000) setTimeout(() => { connection() }, 2000)
} catch(error) { } catch(error) {
connection(error) connection(error)
} }

@ -60,9 +60,6 @@ module.exports = class Filepanel extends ViewPlugin {
var fileExplorer = createProvider('browser', ['createNewFile', 'publishToGist', canUpload ? 'uploadFile' : '']) var fileExplorer = createProvider('browser', ['createNewFile', 'publishToGist', canUpload ? 'uploadFile' : ''])
var fileSystemExplorer = createProvider('localhost') var fileSystemExplorer = createProvider('localhost')
console.log('fileSystemExplorer: ', fileSystemExplorer)
console.log('self._deps.fileProviders: ', self._deps.fileProviders['localhost'])
console.log('appManager: ', appManager)
self.remixdHandle = new RemixdHandle(fileSystemExplorer, self._deps.fileProviders['localhost'], appManager) self.remixdHandle = new RemixdHandle(fileSystemExplorer, self._deps.fileProviders['localhost'], appManager)
const explorers = yo` const explorers = yo`

Loading…
Cancel
Save