Skip to content

Commit b2f2402

Browse files
committed
docs: readme add create field, delete field and create datasheet example.
1 parent 572e5bb commit b2f2402

1 file changed

Lines changed: 85 additions & 1 deletion

File tree

README.md

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,92 @@ File file = new File("/Users/Document/test.txt");
267267
Attachment attachment = vikaApiClient.getAttachmentApi().upload("datasheet_id", file);
268268
```
269269

270+
#### **Add Field**
271+
272+
You can create field by sdk. Firstly, we need to build the property required by the field. Secondly, Using `CreateFieldRequestBuilder` to creating a `CreateFieldRequest` object. Finally, submitting the request to the specified space and the specified datasheet. If creating the field successfully, we can get the new field's `id` and `name`.
273+
274+
> more detail about field type and property of field see official [API manual#create-field](https://vika.cn/developers/api/reference/#operation/create-fields)
275+
276+
```java
277+
// Example 1: create SingleText field
278+
// build the SingleText field's property
279+
SingleTextFieldProperty singleTextFieldProperty = new SingleTextFieldProperty();
280+
singleTextFieldProperty.setDefaultValue("defaultValue");
281+
// create a CreateFieldRequest Object
282+
CreateFieldRequest<SingleTextFieldProperty> request = CreateFieldRequestBuilder
283+
.create()
284+
.ofType(FieldType.SingleText)
285+
.withName("singleText")
286+
.withProperty(singleTextFieldProperty)
287+
.build();
288+
// request to create a field
289+
CreateFieldResponse response = vikaApiClient.getFieldApi().addField("space_id", "datasheet_id", request);
290+
291+
// Example 2: create Text field
292+
// if field don't require property, we can skip the process that build the property
293+
CreateFieldRequest<EmptyProperty> request = CreateFieldRequestBuilder
294+
.create()
295+
.ofType(FieldType.Text)
296+
.withName("text")
297+
.withoutProperty()
298+
.build();
299+
// request to create a field
300+
CreateFieldResponse response = vikaApiClient.getFieldApi().addField("space_id", "datasheet_id", request);
301+
```
302+
303+
#### **Detele Field**
304+
305+
```java
306+
// we can use field_id to detele field
307+
vikaApiClient.getFieldApi().deleteField("space_id", "datasheet_id", "field_id");
308+
```
309+
310+
#### **Add Datasheet**
311+
312+
You can create a datasheet with the help of a `CreateDatasheetRequest` Object. If creating the datasheet successfully, we can get the new datasheet's `id`, `name` and the fields' `id`, `name`.
313+
314+
> more detail see official [API munual#create-datasheet](https://vika.cn/developers/api/reference/#operation/create-datasheets)
315+
316+
```java
317+
// create a CreateDatasheetRequest Object
318+
CreateDatasheetRequest request = new CreateDatasheetRequest();
319+
// datasheet's name is required.
320+
request.setName("datasheet");
321+
// add description to datasheet
322+
request.setDescription("description");
323+
// specify the folder where the datasheet is stored
324+
request.setFolderId("fod_id");
325+
// specify the datasheet's previous node
326+
request.setPreNodeId("pre_node_id");
327+
328+
// datasheet's initial fields
329+
SingleTextFieldProperty property = new SingleTextFieldProperty();
330+
property.setDefaultValue("defaultValue");
331+
// a SingleText field
332+
CreateFieldRequest<SingleTextFieldProperty> singleSelectField = CreateFieldRequestBuilder
333+
.create()
334+
.ofType(FieldType.SingleText)
335+
.withName("singleSelect")
336+
.withProperty(property)
337+
.build();
338+
// a Text field
339+
CreateFieldRequest<EmptyProperty> textField = CreateFieldRequestBuilder
340+
.create()
341+
.ofType(FieldType.Text)
342+
.withName("text")
343+
.withoutProperty()
344+
.build();
345+
List<CreateFieldRequest<?>> fields = new ArrayList<>();
346+
fields.add(singleSelectField);
347+
fields.add(textField);
348+
request.setFields(fields);
349+
350+
// request to create a datasheet
351+
CreateDatasheetResponse response = vikaApiClient.getDatasheetApi().addDatasheet("space_id", request);
352+
```
353+
270354
## Reporting Issues
355+
271356
Vika java sdk project uses GitHub's integrated issue tracking system to record bugs and feature requests.
272357
If you want to raise an issue, please follow the recommendations below:
273358

@@ -279,4 +364,3 @@ If you want to raise an issue, please follow the recommendations below:
279364
## License
280365
Open Source software released under the [MIT License](https://vikadata.mit-license.org).
281366

282-

0 commit comments

Comments
 (0)