0.0.278 • Published 3 days ago

lucid-extension-sdk v0.0.278

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
3 days 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.278

3 days ago

0.0.277

7 days ago

0.0.275

14 days ago

0.0.274

24 days ago

0.0.273

28 days ago

0.0.272

1 month ago

0.0.271

1 month ago

0.0.270

1 month ago

0.0.269

1 month ago

0.0.268

1 month ago

0.0.267

2 months ago

0.0.266

2 months ago

0.0.265

2 months ago

0.0.264

2 months ago

0.0.263

2 months ago

0.0.262

3 months ago

0.0.261

3 months ago

0.0.260

3 months ago

0.0.259

3 months ago

0.0.258

3 months ago

0.0.257

3 months ago

0.0.256

3 months ago

0.0.255

3 months ago

0.0.254

3 months ago

0.0.251

3 months ago

0.0.250

4 months ago

0.0.249

4 months ago

0.0.248

4 months ago

0.0.247

4 months ago

0.0.246

4 months ago

0.0.245

5 months ago

0.0.244

5 months ago

0.0.239

6 months ago

0.0.241

5 months ago

0.0.240

6 months ago

0.0.243

5 months ago

0.0.242

5 months ago

0.0.209

8 months ago

0.0.216

8 months ago

0.0.215

8 months ago

0.0.214

8 months ago

0.0.213

8 months ago

0.0.219

8 months ago

0.0.218

8 months ago

0.0.217

8 months ago

0.0.211

8 months ago

0.0.210

8 months ago

0.0.227

7 months ago

0.0.226

7 months ago

0.0.225

7 months ago

0.0.224

7 months ago

0.0.229

7 months ago

0.0.228

7 months ago

0.0.223

7 months ago

0.0.221

7 months ago

0.0.220

8 months ago

0.0.238

6 months ago

0.0.237

6 months ago

0.0.236

6 months ago

0.0.230

7 months ago

0.0.234

6 months ago

0.0.233

7 months ago

0.0.232

7 months ago

0.0.231

7 months ago

0.0.205

8 months ago

0.0.204

8 months ago

0.0.203

8 months ago

0.0.202

8 months ago

0.0.207

8 months ago

0.0.206

8 months ago

0.0.159

11 months ago

0.0.158

11 months ago

0.0.153

12 months ago

0.0.152

12 months ago

0.0.150

12 months ago

0.0.157

11 months ago

0.0.156

11 months ago

0.0.155

11 months ago

0.0.154

11 months ago

0.0.169

11 months ago

0.0.164

11 months ago

0.0.163

11 months ago

0.0.162

11 months ago

0.0.161

11 months ago

0.0.201

9 months ago

0.0.200

9 months ago

0.0.166

11 months ago

0.0.165

11 months ago

0.0.160

11 months ago

0.0.175

10 months ago

0.0.174

10 months ago

0.0.173

10 months ago

0.0.172

10 months ago

0.0.178

10 months ago

0.0.177

10 months ago

0.0.176

10 months ago

0.0.171

10 months ago

0.0.170

10 months ago

0.0.186

9 months ago

0.0.185

9 months ago

0.0.184

9 months ago

0.0.183

9 months ago

0.0.189

9 months ago

0.0.188

9 months ago

0.0.187

9 months ago

0.0.182

9 months ago

0.0.181

9 months ago

0.0.180

9 months ago

0.0.197

9 months ago

0.0.196

9 months ago

0.0.195

9 months ago

0.0.199

9 months ago

0.0.198

9 months ago

0.0.192

9 months ago

0.0.191

9 months ago

0.0.190

9 months ago

0.0.149

12 months ago

0.0.148

12 months ago

0.0.147

12 months ago

0.0.146

12 months ago

0.0.145

12 months ago

0.0.144

12 months ago

0.0.128

1 year ago

0.0.127

1 year ago

0.0.129

1 year ago

0.0.139

1 year ago

0.0.138

1 year ago

0.0.137

1 year ago

0.0.136

1 year ago

0.0.131

1 year ago

0.0.130

1 year ago

0.0.135

1 year ago

0.0.134

1 year ago

0.0.133

1 year ago

0.0.132

1 year ago

0.0.142

1 year ago

0.0.141

1 year ago

0.0.140

1 year ago

0.0.143

12 months ago

0.0.86

1 year ago

0.0.87

1 year ago

0.0.88

1 year ago

0.0.89

1 year ago

0.0.106

1 year ago

0.0.105

1 year ago

0.0.104

1 year ago

0.0.103

1 year ago

0.0.109

1 year ago

0.0.108

1 year ago

0.0.107

1 year ago

0.0.102

1 year ago

0.0.101

1 year ago

0.0.100

1 year ago

0.0.117

1 year ago

0.0.116

1 year ago

0.0.115

1 year ago

0.0.114

1 year ago

0.0.119

1 year ago

0.0.118

1 year ago

0.0.113

1 year ago

0.0.112

1 year ago

0.0.110

1 year ago

0.0.126

1 year ago

0.0.125

1 year ago

0.0.120

1 year ago

0.0.124

1 year ago

0.0.123

1 year ago

0.0.122

1 year ago

0.0.121

1 year ago

0.0.95

1 year ago

0.0.96

1 year ago

0.0.97

1 year ago

0.0.98

1 year ago

0.0.99

1 year ago

0.0.90

1 year ago

0.0.91

1 year ago

0.0.92

1 year ago

0.0.93

1 year ago

0.0.94

1 year ago

0.0.84

1 year ago

0.0.85

1 year ago

0.0.80

1 year ago

0.0.81

1 year ago

0.0.83

1 year ago

0.0.73

1 year ago

0.0.74

1 year ago

0.0.75

1 year ago

0.0.76

1 year ago

0.0.77

1 year ago

0.0.78

1 year ago

0.0.79

1 year ago

0.0.71

1 year ago

0.0.72

1 year ago

0.0.62

2 years ago

0.0.63

2 years ago

0.0.64

2 years ago

0.0.65

2 years ago

0.0.66

2 years ago

0.0.67

2 years ago

0.0.68

2 years ago

0.0.69

2 years ago

0.0.60

2 years ago

0.0.61

2 years ago

0.0.59

2 years ago

0.0.55

2 years ago

0.0.56

2 years ago

0.0.57

2 years ago

0.0.58

2 years ago

0.0.40

2 years ago

0.0.41

2 years ago

0.0.42

2 years ago

0.0.44

2 years ago

0.0.45

2 years ago

0.0.46

2 years ago

0.0.37

2 years ago

0.0.38

2 years ago

0.0.39

2 years ago

0.0.51

2 years ago

0.0.52

2 years ago

0.0.53

2 years ago

0.0.31

2 years ago

0.0.54

2 years ago

0.0.32

2 years ago

0.0.33

2 years ago

0.0.34

2 years ago

0.0.35

2 years ago

0.0.36

2 years ago

0.0.50

2 years ago

0.0.49

2 years ago

0.0.28

2 years ago

0.0.29

2 years ago

0.0.20

2 years ago

0.0.13

2 years ago

0.0.26

2 years ago

0.0.15

2 years ago

0.0.9

2 years ago

0.0.27

2 years ago

0.0.16

2 years ago

0.0.19

2 years ago

0.0.8

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.6

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago