nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js
Andy Scherzinger 1e04619675
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-06 22:53:41 +02:00

48 lines
1 KiB
JavaScript

/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export default class ExternalLinkActions {
_state
constructor() {
// init empty state
this._state = {}
// init default values
this._state.actions = []
console.debug('OCA.Sharing.ExternalLinkActions initialized')
}
/**
* Get the state
*
* @readonly
* @memberof ExternalLinkActions
* @return {object} the data state
*/
get state() {
return this._state
}
/**
* Register a new action for the link share
* Mostly used by the social sharing app.
*
* @param {object} action new action component to register
* @return {boolean}
*/
registerAction(action) {
OC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead')
if (typeof action === 'object' && action.icon && action.name && action.url) {
this._state.actions.push(action)
return true
}
console.error('Invalid action provided', action)
return false
}
}