UNPKG

molstar

Version:

A comprehensive macromolecular library.

57 lines 2.36 kB
"use strict"; /** * Copyright (c) 2018-2019 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); exports.CreateGroup = void 0; var mol_state_1 = require("../../mol-state"); var mol_util_1 = require("../../mol-util"); var param_definition_1 = require("../../mol-util/param-definition"); var objects_1 = require("../objects"); var CreateGroup = objects_1.PluginStateTransform.BuiltIn({ name: 'create-group', display: { name: 'Group' }, from: [], to: objects_1.PluginStateObject.Group, params: { label: param_definition_1.ParamDefinition.Text('Group'), description: param_definition_1.ParamDefinition.Optional(param_definition_1.ParamDefinition.Text('')) } })({ apply: function (_a) { var params = _a.params; return new objects_1.PluginStateObject.Group({}, params); }, update: function (_a) { var oldParams = _a.oldParams, newParams = _a.newParams, b = _a.b; if ((0, mol_util_1.shallowEqualObjects)(oldParams, newParams)) return mol_state_1.StateTransformer.UpdateResult.Unchanged; b.label = newParams.label; b.description = newParams.description; return mol_state_1.StateTransformer.UpdateResult.Updated; } }); exports.CreateGroup = CreateGroup; // export { ValueRefTest }; // type ValueRefTest = typeof ValueRefTest // const ValueRefTest = PluginStateTransform.BuiltIn({ // name: 'value-ref-test', // display: { name: 'ValueRef Test' }, // from: SO.Root, // to: SO.Data.String, // params: (_, ctx: PluginContext) => { // const getOptions = () => ctx.state.data.selectQ(q => q.rootsOfType(SO.Molecule.Model)).map(m => [m.transform.ref, m.obj?.label || m.transform.ref] as [string, string]); // return { // ref: PD.ValueRef<SO.Molecule.Model>(getOptions, ctx.state.data.tryGetCellData, { defaultRef: getOptions()[0]?.[0] }) // }; // } // })({ // apply({ params }) { // const model = params.ref.getValue(); // console.log(model); // return new SO.Data.String(`Model: ${model.label}`, { label: model.label }); // } // }); //# sourceMappingURL=misc.js.map