@convep_mobilogy/react-native-qms-plugin 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -163
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,47 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
A React Native plugin that provides QMS (Quality Management System) components and APIs for defect management, dashboard visualization, and QMS workflow operations.
|
|
4
4
|
|
|
5
|
-
## Development setup
|
|
6
|
-
|
|
7
|
-
The development toolchain is managed with [mise](https://mise.jdx.dev/). From
|
|
8
|
-
the repository root, install the pinned Node.js, Java, and Ruby versions and
|
|
9
|
-
the JavaScript dependencies:
|
|
10
|
-
|
|
11
|
-
```sh
|
|
12
|
-
mise install
|
|
13
|
-
mise run setup
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
The project pins Yarn through the `packageManager` field in `package.json`; the
|
|
17
|
-
setup task enables Corepack before running the immutable Yarn install. Android
|
|
18
|
-
SDK tooling and Xcode are platform dependencies and are not installed by mise.
|
|
19
|
-
|
|
20
|
-
See [Contributing](CONTRIBUTING.md) for the complete development workflow and
|
|
21
|
-
available mise tasks.
|
|
22
|
-
|
|
23
|
-
To create a separate framework workspace with npm and local-development example
|
|
24
|
-
apps, run:
|
|
25
|
-
|
|
26
|
-
```sh
|
|
27
|
-
./setup_framework.sh
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The script confirms before moving this repository into a new
|
|
31
|
-
`QmsPlugin_Framework` directory one level above its current location. See the
|
|
32
|
-
contributing guide for the generated layout and non-interactive usage. It adds
|
|
33
|
-
mise configuration to both generated apps and runs `mise install` plus
|
|
34
|
-
`mise run setup` in the plugin and each app.
|
|
35
|
-
|
|
36
|
-
For direct Kotlin/Java and Swift/Objective-C integration with the native AAR
|
|
37
|
-
and XCFramework, see
|
|
38
|
-
[Native QMS SDK Integration for Android and iOS](docs/ANDROID_IOS_INTEGRATION.md).
|
|
39
|
-
|
|
40
|
-
For native Android development, AAR/Maven generation, example-app testing, and
|
|
41
|
-
npm publishing, see
|
|
42
|
-
[Android SDK Development and npm Release](docs/ANDROID_DEVELOPMENT_AND_RELEASE.md).
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
5
|
# Installation
|
|
47
6
|
|
|
48
7
|
Install using npm:
|
|
@@ -86,103 +45,6 @@ cd ios
|
|
|
86
45
|
pod install
|
|
87
46
|
```
|
|
88
47
|
|
|
89
|
-
## iOS framework development
|
|
90
|
-
|
|
91
|
-
Use the following workflow when changing the native iOS framework and testing
|
|
92
|
-
it in the included example app.
|
|
93
|
-
|
|
94
|
-
### 1. Open the framework project
|
|
95
|
-
|
|
96
|
-
Open the following project in Xcode and make the required native changes:
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
framework/ios_framework/QmsPluginFramework.xcodeproj
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 2. Build and publish the XCFramework
|
|
103
|
-
|
|
104
|
-
From the plugin root, run the build helper. It archives the framework for both
|
|
105
|
-
iOS devices and the iOS Simulator, creates the XCFramework, packages it, and
|
|
106
|
-
uploads the versioned ZIP used by the native CocoaPod:
|
|
107
|
-
|
|
108
|
-
```sh
|
|
109
|
-
./compile_framework.sh ios
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
You can optionally provide the SDK version:
|
|
113
|
-
|
|
114
|
-
```sh
|
|
115
|
-
./compile_framework.sh ios <sdk-version>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
The versioned XCFramework ZIP and its SHA-256 checksum are written to
|
|
119
|
-
`framework/ios_framework/build/releases/<sdk-version>/`. The root
|
|
120
|
-
`QmsPluginFramework.podspec` is updated for the release. The native pod has no
|
|
121
|
-
React dependency. The command uploads the ZIP to
|
|
122
|
-
`https://sdk.convep.com/api/uploadIOS` using the same credentials and upload
|
|
123
|
-
fields as Android. See [the iOS release guide](docs/IOS_COCOAPODS_RELEASE.md)
|
|
124
|
-
for upload settings and the client Podfile.
|
|
125
|
-
|
|
126
|
-
To build the XCFramework manually instead, run the following commands:
|
|
127
|
-
|
|
128
|
-
```sh
|
|
129
|
-
cd framework/ios_framework
|
|
130
|
-
rm -rf QmsPluginFramework.xcframework
|
|
131
|
-
|
|
132
|
-
xcodebuild archive \
|
|
133
|
-
-project QmsPluginFramework.xcodeproj \
|
|
134
|
-
-scheme QmsPluginFramework \
|
|
135
|
-
-destination "generic/platform=iOS" \
|
|
136
|
-
-archivePath ./build/ios_devices.xcarchive \
|
|
137
|
-
SKIP_INSTALL=NO \
|
|
138
|
-
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
|
139
|
-
|
|
140
|
-
xcodebuild archive \
|
|
141
|
-
-project QmsPluginFramework.xcodeproj \
|
|
142
|
-
-scheme QmsPluginFramework \
|
|
143
|
-
-destination "generic/platform=iOS Simulator" \
|
|
144
|
-
-archivePath ./build/ios_simulators.xcarchive \
|
|
145
|
-
SKIP_INSTALL=NO \
|
|
146
|
-
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
|
147
|
-
|
|
148
|
-
xcodebuild -create-xcframework \
|
|
149
|
-
-framework ./build/ios_devices.xcarchive/Products/Library/Frameworks/QmsPluginFramework.framework \
|
|
150
|
-
-framework ./build/ios_simulators.xcarchive/Products/Library/Frameworks/QmsPluginFramework.framework \
|
|
151
|
-
-output ./QmsPluginFramework.xcframework
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### 3. Install the example app's iOS dependencies
|
|
155
|
-
|
|
156
|
-
From the plugin root, run this after the uploaded version is available so
|
|
157
|
-
CocoaPods downloads the latest native build:
|
|
158
|
-
|
|
159
|
-
```sh
|
|
160
|
-
cd example/ios
|
|
161
|
-
pod install
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### 4. Start Metro
|
|
165
|
-
|
|
166
|
-
In a separate terminal, start Metro from the plugin root:
|
|
167
|
-
|
|
168
|
-
```sh
|
|
169
|
-
cd example
|
|
170
|
-
npx react-native start
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
### 5. Build and run the example app
|
|
174
|
-
|
|
175
|
-
Open the CocoaPods workspace (not the `.xcodeproj`) and run the desired iOS
|
|
176
|
-
Simulator or connected device:
|
|
177
|
-
|
|
178
|
-
```text
|
|
179
|
-
example/ios/QmsPluginExample.xcworkspace
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
Repeat steps 2 through 5 after each native framework change.
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
48
|
# Android Setup
|
|
187
49
|
|
|
188
50
|
Autolinking should set up everything automatically, but you need to add the QMS
|
|
@@ -279,31 +141,6 @@ const styles = StyleSheet.create({
|
|
|
279
141
|
|
|
280
142
|
---
|
|
281
143
|
|
|
282
|
-
## Open Add Issue Directly
|
|
283
|
-
|
|
284
|
-
Use `QmsPlugin.openAddIssue` when the host app already knows the target unit and wants to skip the QMS project/unit/dashboard flow.
|
|
285
|
-
|
|
286
|
-
```tsx
|
|
287
|
-
import { QmsPlugin } from '@convep_mobilogy/react-native-qms-plugin';
|
|
288
|
-
|
|
289
|
-
async function handleAddIssuePress() {
|
|
290
|
-
await QmsPlugin.openAddIssue({
|
|
291
|
-
userToken: '<UserToken>',
|
|
292
|
-
clientID: '<ClientID>',
|
|
293
|
-
clientCode: '<CompanyCode>',
|
|
294
|
-
isOrigin: false,
|
|
295
|
-
drawingPlanId: 1183,
|
|
296
|
-
projectId: 4,
|
|
297
|
-
unitName: 'C-L(7)',
|
|
298
|
-
projectName: 'Ara E Residence Dev',
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
`drawingPlanId` is required because Add Issue needs a selected unit plan. `projectId`, `unitName`, and `projectName` are optional but recommended so the SDK can display and cache the correct context.
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
144
|
# Props
|
|
308
145
|
|
|
309
146
|
## QmsDashboardView Props
|