Skip to content

Commit 16c950f

Browse files
committed
starter ios code
1 parent a6960ec commit 16c950f

File tree

9 files changed

+3001
-7
lines changed

9 files changed

+3001
-7
lines changed

apps/demo-angular/src/plugin-demos/cloudinary.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, NgZone } from '@angular/core';
22
import { DemoSharedCloudinary } from '@demo/shared';
3-
import {} from '@nativescript/cloudinary';
3+
// import {} from '@nativescript/cloudinary';
44

55
@Component({
66
selector: 'demo-cloudinary',

apps/demo/src/main-page.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<Button text="background-http" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
1212
<Button text="brightness" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
1313
<Button text="camera" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
14+
<Button text="cloudinary" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
1415
<Button text="datetimepicker" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
1516
<Button text="debug-android" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
1617
<Button text="debug-ios" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
@@ -31,7 +32,6 @@
3132
<Button text="social-share" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
3233
<Button text="twitter" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
3334
<Button text="zip" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
34-
<Button text="cloudinary" tap="{{ viewDemo }}" class="btn btn-primary view-demo"/>
3535
</StackLayout>
3636
</ScrollView>
3737
</StackLayout>

apps/demo/src/plugin-demos/cloudinary.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Observable, EventData, Page } from '@nativescript/core';
22
import { DemoSharedCloudinary } from '@demo/shared';
3-
import {} from '@nativescript/cloudinary';
3+
// import {} from '@nativescript/cloudinary';
44

55
export function navigatingTo(args: EventData) {
66
const page = <Page>args.object;

packages/cloudinary/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
import { CloudinaryCommon } from './common';
22

3-
export declare class Cloudinary extends CloudinaryCommon {}
3+
export declare class Cloudinary extends CloudinaryCommon {
4+
init(cloudinaryUrl: string): Promise<any>;
5+
6+
uploadPhoto(filePath: string): Promise<any>;
7+
8+
showWidget(): Promise<any>;
9+
}

packages/cloudinary/index.ios.ts

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,77 @@
11
import { CloudinaryCommon } from './common';
22

3-
export class Cloudinary extends CloudinaryCommon {}
3+
export class Cloudinary extends CloudinaryCommon {
4+
5+
public cloudinary: any;
6+
7+
public init(cloudinaryUrl) {
8+
9+
10+
return new Promise((resolve, reject) => {
11+
let config = CLDConfiguration.new();
12+
config.initWithCloudinaryUrl(cloudinaryUrl);
13+
this.cloudinary = CLDCloudinary.alloc().initWithConfigurationNetworkAdapterSessionConfiguration(config, null, null);
14+
console.log('init with ' + cloudinaryUrl)
15+
console.log(this.cloudinary);
16+
resolve(true);
17+
});
18+
}
19+
20+
public showWidget() {
21+
let myConfig = new CLDWidgetConfiguration({
22+
allowRotate: false,
23+
initialAspectLockState: AspectRatioLockState.Disabled,
24+
uploadType: new CLDUploadType({signed: false, preset: "native_mobile_dev"})
25+
})
26+
27+
// this borks.
28+
let delegate: CLDUploaderWidgetDelegate = {
29+
uploadWidgetDidDismiss: () => {
30+
console.log('dismissed!')
31+
},
32+
uploadWidgetWillCall: (uploadWidget: CLDUploaderWidget, requests: NSArray<CLDUploadRequest>) => {
33+
console.log(requests);
34+
},
35+
widgetDidCancel: () => {
36+
console.log('canceled!')
37+
}
38+
}
39+
40+
41+
let uploadWidget = new CLDUploaderWidget({cloudinary: this.cloudinary, configuration: myConfig, images: null, delegate: null})
42+
uploadWidget.setDelegateFromDelegate(delegate);
43+
const keyWindow = UIApplication.sharedApplication.keyWindow;
44+
let root = keyWindow.rootViewController;
45+
let presented = root.presentedViewController;
46+
let page = presented ? presented : root;
47+
uploadWidget.presentWidgetFrom(page)
48+
49+
}
50+
51+
public uploadPhoto(filePath) {
52+
return new Promise((resolve, reject) => {
53+
resolve(true);
54+
// let uploader: CLDUploader = this.cloudinary.createUploader();
55+
// let url = NSURL.URLWithString(filePath)
56+
// let params = CLDUploadRequestParams.new()
57+
// uploader.uploadWithUrlUploadPresetParamsProgressCompletionHandler(url, 'native_mobile_dev', params, (progress: NSProgress) => {
58+
// // console.log('progress', progress)
59+
// // this._zone.run(() => {
60+
// // this.photoService.uploadingMap[filename] = (progress.fractionCompleted * 100).toFixed(0) + '%';
61+
// // })
62+
// // console.log(this.photoService.uploadingMap);
63+
// }, (result: CLDUploadResult, error: NSError) => {
64+
// console.log('result', result)
65+
// if (result) {
66+
// resolve({
67+
// url: result.url,
68+
// public_id: result.publicId
69+
// });
70+
// } else if (error) {
71+
// console.log('error', error)
72+
// alert('There was an error uploading your photo, please try again later.')
73+
// }
74+
// })
75+
})
76+
}
77+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pod 'Cloudinary', '~> 3.0'

packages/cloudinary/references.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
/// <reference path="../../references.d.ts" />
2+
/// <reference path="./typings/objc!Cloudinary.d.ts" />

0 commit comments

Comments
 (0)