0.0.381 • Published 1 year ago

lucid-extension-sdk v0.0.381

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
1 year ago

lucid-extension-sdk

Description

TypeScript SDK for building in-editor extensions for the products of Lucid Software.

Getting started

To get started building an extension for Lucid products, follow the instructions in the lucid-package CLI.

Simple examples

Add a new entry in the main menu

import {EditorClient, Menu, MenuType} from 'lucid-extension-sdk';

const client = new EditorClient();
const menu = new Menu(client);

client.registerAction('my-new-action', () => {
    console.log('Hello world');
});

menu.addDropdownMenuItem({
    label: 'Hello world',
    action: 'my-new-action',
});

Create a new page and add some shapes to it

import {DocumentProxy, EditorClient, Menu, MenuType, Viewport} from 'lucid-extension-sdk';

const client = new EditorClient();
const menu = new Menu(client);
const viewport = new Viewport(client);
const document = new DocumentProxy(client);

client.registerAction('create-content', async () => {
    const page = document.addPage({title: 'Hello world'});
    viewport.setCurrentPage(page);

    //Before creating any blocks, you must make sure the code
    //for that kind of block is loaded.
    await client.loadBlockClasses(['ProcessBlock']);

    let y = 0;
    for (const char of 'Hello world') {
        const block = page.addBlock({
            className: 'ProcessBlock',
            boundingBox: {
                x: 0,
                y,
                w: 60,
                h: 60,
            },
        });

        const textAreaName = block.textAreas.keys()[0];
        block.textAreas.set(textAreaName, char);

        y += 80;
    }
});

menu.addDropdownMenuItem({
    label: 'Hello world',
    action: 'create-content',
});

Create and download a CSV with shape data from the current page

import {EditorClient, Menu, MenuLocation, MenuType, Viewport} from 'lucid-extension-sdk';

const client = new EditorClient();
const menu = new Menu(client);
const viewport = new Viewport(client);

client.registerAction('download', async () => {
    const page = viewport.getCurrentPage();
    if (!page) {
        return;
    }

    const csv: string[][] = [['Type', 'ID', 'Text', 'DataValue']];

    for (const [id, block] of page?.allBlocks) {
        csv.push([
            block.getClassName(),
            block.id,
            block.textAreas.first() ?? '',
            JSON.stringify(block.allShapeData.get('DataValue')),
        ]);
    }

    client.download('data.csv', csv.map((line) => line.join(',')).join('\n'), 'text/plain', false);
});

menu.addDropdownMenuItem({
    label: 'Download CSV',
    action: 'download',
    location: MenuLocation.Export, //Near File -> Export
});

License

This project is distributed under the Apache License, Version 2.0, see LICENSE for more information.

0.0.348

1 year ago

0.0.347

1 year ago

0.0.346

1 year ago

0.0.345

1 year ago

0.0.349

1 year ago

0.0.344

1 year ago

0.0.343

1 year ago

0.0.359

1 year ago

0.0.358

1 year ago

0.0.357

1 year ago

0.0.356

1 year ago

0.0.351

1 year ago

0.0.350

1 year ago

0.0.355

1 year ago

0.0.354

1 year ago

0.0.353

1 year ago

0.0.352

1 year ago

0.0.369

1 year ago

0.0.368

1 year ago

0.0.367

1 year ago

0.0.362

1 year ago

0.0.361

1 year ago

0.0.360

1 year ago

0.0.366

1 year ago

0.0.365

1 year ago

0.0.364

1 year ago

0.0.363

1 year ago

0.0.379

1 year ago

0.0.378

1 year ago

0.0.373

1 year ago

0.0.372

1 year ago

0.0.371

1 year ago

0.0.370

1 year ago

0.0.377

1 year ago

0.0.376

1 year ago

0.0.375

1 year ago

0.0.374

1 year ago

0.0.381

1 year ago

0.0.380

1 year ago

0.0.339

2 years ago

0.0.340

2 years ago

0.0.341

2 years ago

0.0.337

2 years ago

0.0.338

2 years ago

0.0.336

2 years ago

0.0.315

2 years ago

0.0.314

2 years ago

0.0.313

2 years ago

0.0.312

2 years ago

0.0.319

2 years ago

0.0.317

2 years ago

0.0.316

2 years ago

0.0.311

2 years ago

0.0.310

2 years ago

0.0.326

2 years ago

0.0.325

2 years ago

0.0.324

2 years ago

0.0.323

2 years ago

0.0.329

2 years ago

0.0.328

2 years ago

0.0.327

2 years ago

0.0.322

2 years ago

0.0.321

2 years ago

0.0.320

2 years ago

0.0.335

2 years ago

0.0.334

2 years ago

0.0.333

2 years ago

0.0.331

2 years ago

0.0.330

2 years ago

0.0.309

2 years ago

0.0.303

2 years ago

0.0.302

2 years ago

0.0.301

2 years ago

0.0.308

2 years ago

0.0.307

2 years ago

0.0.306

2 years ago

0.0.305

2 years ago

0.0.300

2 years ago

0.0.285

2 years ago

0.0.283

2 years ago

0.0.288

2 years ago

0.0.287

2 years ago

0.0.286

2 years ago

0.0.296

2 years ago

0.0.295

2 years ago

0.0.294

2 years ago

0.0.293

2 years ago

0.0.299

2 years ago

0.0.298

2 years ago

0.0.297

2 years ago

0.0.292

2 years ago

0.0.291

2 years ago

0.0.282

2 years ago

0.0.278

2 years ago

0.0.277

2 years ago

0.0.275

2 years ago

0.0.274

2 years ago

0.0.273

2 years ago

0.0.272

2 years ago

0.0.271

2 years ago

0.0.270

2 years ago

0.0.269

2 years ago

0.0.268

2 years ago

0.0.267

2 years ago

0.0.266

2 years ago

0.0.265

2 years ago

0.0.264

2 years ago

0.0.263

2 years ago

0.0.262

2 years ago

0.0.261

2 years ago

0.0.260

2 years ago

0.0.259

2 years ago

0.0.258

2 years ago

0.0.257

2 years ago

0.0.256

2 years ago

0.0.255

2 years ago

0.0.254

2 years ago

0.0.251

2 years ago

0.0.250

2 years ago

0.0.249

2 years ago

0.0.248

2 years ago

0.0.247

2 years ago

0.0.246

2 years ago

0.0.245

2 years ago

0.0.244

2 years ago

0.0.239

2 years ago

0.0.241

2 years ago

0.0.240

2 years ago

0.0.243

2 years ago

0.0.242

2 years ago

0.0.209

3 years ago

0.0.216

3 years ago

0.0.215

3 years ago

0.0.214

3 years ago

0.0.213

3 years ago

0.0.219

3 years ago

0.0.218

3 years ago

0.0.217

3 years ago

0.0.211

3 years ago

0.0.210

3 years ago

0.0.227

3 years ago

0.0.226

3 years ago

0.0.225

3 years ago

0.0.224

3 years ago

0.0.229

3 years ago

0.0.228

3 years ago

0.0.223

3 years ago

0.0.221

3 years ago

0.0.220

3 years ago

0.0.238

2 years ago

0.0.237

2 years ago

0.0.236

2 years ago

0.0.230

3 years ago

0.0.234

2 years ago

0.0.233

3 years ago

0.0.232

3 years ago

0.0.231

3 years ago

0.0.205

3 years ago

0.0.204

3 years ago

0.0.203

3 years ago

0.0.202

3 years ago

0.0.207

3 years ago

0.0.206

3 years ago

0.0.159

3 years ago

0.0.158

3 years ago

0.0.153

3 years ago

0.0.152

3 years ago

0.0.150

3 years ago

0.0.157

3 years ago

0.0.156

3 years ago

0.0.155

3 years ago

0.0.154

3 years ago

0.0.169

3 years ago

0.0.164

3 years ago

0.0.163

3 years ago

0.0.162

3 years ago

0.0.161

3 years ago

0.0.201

3 years ago

0.0.200

3 years ago

0.0.166

3 years ago

0.0.165

3 years ago

0.0.160

3 years ago

0.0.175

3 years ago

0.0.174

3 years ago

0.0.173

3 years ago

0.0.172

3 years ago

0.0.178

3 years ago

0.0.177

3 years ago

0.0.176

3 years ago

0.0.171

3 years ago

0.0.170

3 years ago

0.0.186

3 years ago

0.0.185

3 years ago

0.0.184

3 years ago

0.0.183

3 years ago

0.0.189

3 years ago

0.0.188

3 years ago

0.0.187

3 years ago

0.0.182

3 years ago

0.0.181

3 years ago

0.0.180

3 years ago

0.0.197

3 years ago

0.0.196

3 years ago

0.0.195

3 years ago

0.0.199

3 years ago

0.0.198

3 years ago

0.0.192

3 years ago

0.0.191

3 years ago

0.0.190

3 years ago

0.0.149

3 years ago

0.0.148

3 years ago

0.0.147

3 years ago

0.0.146

3 years ago

0.0.145

3 years ago

0.0.144

3 years ago

0.0.128

3 years ago

0.0.127

3 years ago

0.0.129

3 years ago

0.0.139

3 years ago

0.0.138

3 years ago

0.0.137

3 years ago

0.0.136

3 years ago

0.0.131

3 years ago

0.0.130

3 years ago

0.0.135

3 years ago

0.0.134

3 years ago

0.0.133

3 years ago

0.0.132

3 years ago

0.0.142

3 years ago

0.0.141

3 years ago

0.0.140

3 years ago

0.0.143

3 years ago

0.0.86

3 years ago

0.0.87

3 years ago

0.0.88

3 years ago

0.0.89

3 years ago

0.0.106

3 years ago

0.0.105

3 years ago

0.0.104

3 years ago

0.0.103

3 years ago

0.0.109

3 years ago

0.0.108

3 years ago

0.0.107

3 years ago

0.0.102

3 years ago

0.0.101

3 years ago

0.0.100

3 years ago

0.0.117

3 years ago

0.0.116

3 years ago

0.0.115

3 years ago

0.0.114

3 years ago

0.0.119

3 years ago

0.0.118

3 years ago

0.0.113

3 years ago

0.0.112

3 years ago

0.0.110

3 years ago

0.0.126

3 years ago

0.0.125

3 years ago

0.0.120

3 years ago

0.0.124

3 years ago

0.0.123

3 years ago

0.0.122

3 years ago

0.0.121

3 years ago

0.0.95

3 years ago

0.0.96

3 years ago

0.0.97

3 years ago

0.0.98

3 years ago

0.0.99

3 years ago

0.0.90

3 years ago

0.0.91

3 years ago

0.0.92

3 years ago

0.0.93

3 years ago

0.0.94

3 years ago

0.0.84

3 years ago

0.0.85

3 years ago

0.0.80

3 years ago

0.0.81

3 years ago

0.0.83

3 years ago

0.0.73

3 years ago

0.0.74

3 years ago

0.0.75

3 years ago

0.0.76

3 years ago

0.0.77

3 years ago

0.0.78

3 years ago

0.0.79

3 years ago

0.0.71

3 years ago

0.0.72

3 years ago

0.0.62

4 years ago

0.0.63

4 years ago

0.0.64

4 years ago

0.0.65

4 years ago

0.0.66

4 years ago

0.0.67

4 years ago

0.0.68

3 years ago

0.0.69

3 years ago

0.0.60

4 years ago

0.0.61

4 years ago

0.0.59

4 years ago

0.0.55

4 years ago

0.0.56

4 years ago

0.0.57

4 years ago

0.0.58

4 years ago

0.0.40

4 years ago

0.0.41

4 years ago

0.0.42

4 years ago

0.0.44

4 years ago

0.0.45

4 years ago

0.0.46

4 years ago

0.0.37

4 years ago

0.0.38

4 years ago

0.0.39

4 years ago

0.0.51

4 years ago

0.0.52

4 years ago

0.0.53

4 years ago

0.0.31

4 years ago

0.0.54

4 years ago

0.0.32

4 years ago

0.0.33

4 years ago

0.0.34

4 years ago

0.0.35

4 years ago

0.0.36

4 years ago

0.0.50

4 years ago

0.0.49

4 years ago

0.0.28

4 years ago

0.0.29

4 years ago

0.0.20

4 years ago

0.0.13

4 years ago

0.0.26

4 years ago

0.0.15

4 years ago

0.0.9

4 years ago

0.0.27

4 years ago

0.0.16

4 years ago

0.0.19

4 years ago

0.0.8

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.6

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago