mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-21 05:59:32 +00:00
Included TransformerKit for easier NSValueTransformer generation
Date picking for expiry dates now works
This commit is contained in:
46
MacPass/MPValueTransformerHelper.m
Normal file
46
MacPass/MPValueTransformerHelper.m
Normal file
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// MPValueTransformerHelper.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 17/03/14.
|
||||
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPValueTransformerHelper.h"
|
||||
#import "NSValueTransformer+TransformerKit.h"
|
||||
|
||||
NSString *const MPStripLineBreaksTransformerName = @"com.hicknhack.macpass.MPStripLineBreaksTransformerName";
|
||||
NSString *const MPExpiryDateValueTransformer = @"com.hicknhack.macpass.kMPExpiryDateValueTransformer";
|
||||
|
||||
@implementation MPValueTransformerHelper
|
||||
|
||||
+ (void)registerValueTransformer {
|
||||
[NSValueTransformer registerValueTransformerWithName:MPStripLineBreaksTransformerName
|
||||
transformedValueClass:[NSString class]
|
||||
returningTransformedValueWithBlock:^id(id value) {
|
||||
if(![value isKindOfClass:[NSString class]]) {
|
||||
return @"";
|
||||
}
|
||||
NSArray *elements = [value componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
|
||||
return [elements componentsJoinedByString:@" "];
|
||||
}];
|
||||
|
||||
|
||||
[NSValueTransformer registerValueTransformerWithName:MPExpiryDateValueTransformer
|
||||
transformedValueClass:[NSString class]
|
||||
returningTransformedValueWithBlock:^id(id value) {
|
||||
if(![value isKindOfClass:[NSDate class]]) {
|
||||
return @""; // Wrong input
|
||||
}
|
||||
static NSDateFormatter *formatter;
|
||||
if(!formatter) {
|
||||
formatter = [[NSDateFormatter alloc] init];
|
||||
[formatter setDateStyle:NSDateFormatterFullStyle];
|
||||
[formatter setTimeStyle:NSDateFormatterNoStyle];
|
||||
}
|
||||
NSString *template = NSLocalizedString(@"EXPIRES_AT_DATE_%@", "");
|
||||
return [[NSString alloc] initWithFormat:template, [formatter stringFromDate:value]];
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user