From 620b32adfb142fd5701aef9c403009059a5cd7a4 Mon Sep 17 00:00:00 2001
From: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
Date: Sat, 24 Feb 2024 10:49:21 +0100
Subject: [PATCH] add using example after default if it is defined (#56)
* add using example after default if it is defined
* added release doc and rebuilt the WASM part
* fixed the ID and regenerated the site
---
docs/release_notes/v0.3.3.md | 3 +
pkg/generate.go | 4 +
pkg/generate_test.go | 19 ++++
pkg/testdata/sample_crd_with_example.yaml | 91 ++++++++++++++++++
.../sample_crd_with_example_golden.yaml | 15 +++
wasm/app-worker.js | 6 +-
wasm/app.go | 13 ++-
wasm/app.js | 2 +-
wasm/index.html | 20 ++--
wasm/web/app.wasm | Bin 26887061 -> 26887033 bytes
10 files changed, 152 insertions(+), 21 deletions(-)
create mode 100644 docs/release_notes/v0.3.3.md
create mode 100644 pkg/testdata/sample_crd_with_example.yaml
create mode 100644 pkg/testdata/sample_crd_with_example_golden.yaml
diff --git a/docs/release_notes/v0.3.3.md b/docs/release_notes/v0.3.3.md
new file mode 100644
index 0000000..3c9c179
--- /dev/null
+++ b/docs/release_notes/v0.3.3.md
@@ -0,0 +1,3 @@
+# v0.3.3 Release
+
+- Add using `example`s if defined after `default` value in the schema. (#56)
diff --git a/pkg/generate.go b/pkg/generate.go
index a1cf675..fa904da 100644
--- a/pkg/generate.go
+++ b/pkg/generate.go
@@ -127,6 +127,10 @@ func outputValueType(v v1beta1.JSONSchemaProps) string {
return string(v.Default.Raw)
}
+ if v.Example != nil {
+ return string(v.Example.Raw)
+ }
+
st := "string"
switch v.Type {
case st:
diff --git a/pkg/generate_test.go b/pkg/generate_test.go
index bc22aad..d946f58 100644
--- a/pkg/generate_test.go
+++ b/pkg/generate_test.go
@@ -30,3 +30,22 @@ func TestGenerate(t *testing.T) {
assert.Equal(t, golden, buffer.Bytes())
}
+
+func TestGenerateWithExample(t *testing.T) {
+ content, err := os.ReadFile(filepath.Join("testdata", "sample_crd_with_example.yaml"))
+ require.NoError(t, err)
+
+ crd := &v1beta1.CustomResourceDefinition{}
+ require.NoError(t, yaml.Unmarshal(content, crd))
+
+ var output []byte
+ buffer := bytes.NewBuffer(output)
+
+ version := crd.Spec.Versions[0]
+ require.NoError(t, ParseProperties(crd.Spec.Group, version.Name, crd.Spec.Names.Kind, version.Schema.OpenAPIV3Schema.Properties, buffer, 0, false, false))
+
+ golden, err := os.ReadFile(filepath.Join("testdata", "sample_crd_with_example_golden.yaml"))
+ require.NoError(t, err)
+
+ assert.Equal(t, golden, buffer.Bytes())
+}
diff --git a/pkg/testdata/sample_crd_with_example.yaml b/pkg/testdata/sample_crd_with_example.yaml
new file mode 100644
index 0000000..33603d1
--- /dev/null
+++ b/pkg/testdata/sample_crd_with_example.yaml
@@ -0,0 +1,91 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: krokcommands.delivery.krok.app
+spec:
+ group: delivery.krok.app
+ names:
+ kind: KrokCommand
+ listKind: KrokCommandList
+ plural: krokcommands
+ singular: krokcommand
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: KrokCommand is the Schema for the krokcommands API
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: KrokCommandSpec defines the desired state of KrokCommand
+ properties:
+ commandHasOutputToWrite:
+ description: CommandHasOutputToWrite if defined, it signals the underlying
+ Job, to put its output into a generated and created secret.
+ type: boolean
+ dependencies:
+ description: Dependencies defines a list of command names that this
+ command depends on.
+ items:
+ type: string
+ type: array
+ enabled:
+ description: Enabled defines if this command can be executed or not.
+ type: boolean
+ complex:
+ type: object
+ example: {key: "value"}
+ image:
+ description: 'Image defines the image name and tag of the command
+ example: krok-hook/slack-notification:v0.0.1'
+ type: string
+ example: krok-hook/slack-notification:v0.0.1
+ platforms:
+ description: Platforms holds all the platforms which this command
+ supports.
+ items:
+ type: string
+ type: array
+ readInputFromSecret:
+ description: ReadInputFromSecret if defined, the command will take
+ a list of key/value pairs in a secret and apply them as arguments
+ to the command.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ schedule:
+ description: 'Schedule of the command. example: 0 * * * * // follows
+ cron job syntax.'
+ type: string
+ required:
+ - image
+ type: object
+ status:
+ description: KrokCommandStatus defines the observed state of KrokCommand
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/pkg/testdata/sample_crd_with_example_golden.yaml b/pkg/testdata/sample_crd_with_example_golden.yaml
new file mode 100644
index 0000000..751fe4e
--- /dev/null
+++ b/pkg/testdata/sample_crd_with_example_golden.yaml
@@ -0,0 +1,15 @@
+apiVersion: delivery.krok.app/v1alpha1
+kind: KrokCommand
+metadata: {}
+spec:
+ commandHasOutputToWrite: true
+ complex: {"key":"value"}
+ dependencies: ["string"]
+ enabled: true
+ image: "krok-hook/slack-notification:v0.0.1"
+ platforms: ["string"]
+ readInputFromSecret:
+ name: string
+ namespace: string
+ schedule: string
+status: {}
diff --git a/wasm/app-worker.js b/wasm/app-worker.js
index ca4de86..6672202 100644
--- a/wasm/app-worker.js
+++ b/wasm/app-worker.js
@@ -1,8 +1,8 @@
-const cacheName = "app-" + "88fd944df3b3589e7578486efd86022ea07b8649";
+const cacheName = "app-" + "f12aae0089af3c57e2d86eef472876387bf42dc1";
const resourcesToCache = ["/","/app.css","/app.js","/manifest.webmanifest","/wasm_exec.js","/web/app.wasm","/web/css/alert.css","/web/img/logo.png","https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js","https://cdn.jsdelivr.net/npm/halfmoon@2.0.1/css/halfmoon.min.css","https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js","https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css","https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-twilight.min.css"];
self.addEventListener("install", (event) => {
- console.log("installing app worker 88fd944df3b3589e7578486efd86022ea07b8649");
+ console.log("installing app worker f12aae0089af3c57e2d86eef472876387bf42dc1");
event.waitUntil(
caches
@@ -28,7 +28,7 @@ self.addEventListener("activate", (event) => {
);
})
);
- console.log("app worker 88fd944df3b3589e7578486efd86022ea07b8649 is activated");
+ console.log("app worker f12aae0089af3c57e2d86eef472876387bf42dc1 is activated");
});
self.addEventListener("fetch", (event) => {
diff --git a/wasm/app.go b/wasm/app.go
index d58cb1b..8930212 100644
--- a/wasm/app.go
+++ b/wasm/app.go
@@ -191,14 +191,14 @@ func render(d app.UI, p []*Property, accordionID string, depth int) app.UI {
),
)
- buttonID := "accordion-button-id-" + prop.Name + accordionID
- button := app.Button().ID(buttonID).Class("accordion-button").Type("button").DataSets(
+ targetID := "accordion-collapse-for-" + prop.Name + accordionID
+ button := app.Button().ID("accordion-button-id-"+prop.Name+accordionID).Class("accordion-button").Type("button").DataSets(
map[string]any{
"bs-toggle": "collapse",
- "bs-target": buttonID,
+ "bs-target": "#" + targetID, // the # is important
}).
Aria("expanded", "false").
- Aria("controls", buttonID).
+ Aria("controls", targetID).
Body(
headerContainer,
)
@@ -216,15 +216,14 @@ func render(d app.UI, p []*Property, accordionID string, depth int) app.UI {
continue
}
- accordionDivID := "accordion-collapse-for-" + prop.Name + accordionID
- accordionDiv := app.Div().Class("accordion-collapse collapse").ID(accordionDivID).DataSet("bs-parent", "#"+accordionID)
+ accordionDiv := app.Div().Class("accordion-collapse collapse").ID(targetID).DataSet("bs-parent", "#"+accordionID)
accordionBody := app.Div().Class("accordion-body")
var bodyElements []app.UI
// add any children that the parent has
if len(prop.Properties) > 0 {
- element := render(app.Div().ID(prop.Name).Class("accordion-item"), prop.Properties, accordionDivID, depth+1)
+ element := render(app.Div().ID(prop.Name).Class("accordion-item"), prop.Properties, targetID, depth+1)
bodyElements = append(bodyElements, element)
}
diff --git a/wasm/app.js b/wasm/app.js
index 6ba2532..86708ff 100644
--- a/wasm/app.js
+++ b/wasm/app.js
@@ -5,7 +5,7 @@ var goappNav = function () {};
var goappOnUpdate = function () {};
var goappOnAppInstallChange = function () {};
-const goappEnv = {"GOAPP_INTERNAL_URLS":"null","GOAPP_ROOT_PREFIX":"","GOAPP_STATIC_RESOURCES_URL":"","GOAPP_VERSION":"88fd944df3b3589e7578486efd86022ea07b8649"};
+const goappEnv = {"GOAPP_INTERNAL_URLS":"null","GOAPP_ROOT_PREFIX":"","GOAPP_STATIC_RESOURCES_URL":"","GOAPP_VERSION":"f12aae0089af3c57e2d86eef472876387bf42dc1"};
const goappLoadingLabel = "{progress}%";
const goappWasmContentLengthHeader = "";
diff --git a/wasm/index.html b/wasm/index.html
index d385100..d3f7d8b 100644
--- a/wasm/index.html
+++ b/wasm/index.html
@@ -1,5 +1,5 @@
-
+
@@ -7,25 +7,25 @@
-
+
Preview CRDs
-
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -62,7 +62,7 @@
diff --git a/wasm/web/app.wasm b/wasm/web/app.wasm
index f31fd966626a5ad9dcea1f94e9cdb86d02531f05..c6d7ce92cc0aca719527ed239c626eef94823864 100755
GIT binary patch
delta 1596399
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